我正在编写Merb应用程序,它使用SimpleDB和Tokyo Tyrant的组合来存储。对于这两个数据存储区,我正在实施IN(列表)类型功能,为列表中的每个值旋转一个线程,然后合并结果集。考虑到这是一个Web应用程序,我应该创建的线程数是否有限制? Ruby 1.8.7,所以它们不是内核线程。有多少Ruby线程太多?
回答
线程对于你在这里尝试做的事情来说似乎是一个糟糕的方法,如果你不能使用JRuby,那么我会完全放弃这些线程。但是,您可以创建一个加载数据库的ruby文件,并使用benchmark library来进行一些基准测试,其中哪个数字最快。你可能也想看看使用的内存。
那个基准库看起来很有用,我之前并不知道它:谢谢。 – 2009-12-14 17:33:24
如果您正在使用MRI,那么在这种情况下使用线程将不会有什么大的帮助,因为MRI使用的绿色线程在计算操作中无用。我相信使用JRuby(本地线程)将会有所帮助。 我一直听说,对于本地线程,最好使用(内核数量+ 1)来利用可用的内核。
MRI Ruby 1.8使用绿色线程,但1.9不使用绿色线程 - 它仅使用GIL。 – 2011-10-24 06:55:49
对我来说,你的问题听起来像IO一样,所以多线程单核可能会有所帮助。
大多数情况下,在您的主要Ruby循环中,您可能会等待东京暴君和简单的DB在独立的多线程进程中运行。
那么有多少个线程?谁知道?你将不得不基准和测量。
- 1. iphone/objective-c dev中有多少线程太多
- 2. 有多少层太多?
- 3. 有多少个EJB太多?
- 4. 有多少NSTimers太多?
- 5. 有多少查询太多?
- 6. STL有多少太多?
- 7. 有多少任务太多?
- 8. JSON有多少JSON太多?
- 9. 多少javascript太多
- 10. 多少是太多?
- 11. 许多NSOperationQueues =多少线程?
- 12. JVM中有多少个对象太多?
- 13. WCF-有多少种方法太多?
- 14. SQL SSIS有多少步骤太多
- 15. 有多少NGinx重定向太多?
- 16. memcached中有多少个键太多?
- 17. 有多少记录/对象太多?
- 18. ReactJS中有多少组件太多?
- 19. MVC中有多少GUI逻辑太多?
- 20. 有多少顶点缓冲区太多?
- 21. 有多少PHP包含太多?
- 22. SQL Server 2005表有多少列太多?
- 23. mysql-query中有多少where-clause太多?
- 24. 有多少班级太多? Rails STI
- 25. 有多少构造函数太多?
- 26. 表中有多少个“太多”字段?
- 27. 有多少列是太多列?
- 28. 有多少个nginx缓冲区太多?
- 29. 有多少sql查询太多?
- 30. 在应用程序中登录多少,多少钱太多?
对不起,澄清一下,这些线程只是对SimpleDB或Tokyo Tyrant服务器进行服务调用,而不是自己进行非常多的处理。我的印象是MRI线程可以吗? – 2009-12-14 17:32:15
正确,基准是。 – 2009-12-15 08:35:48