我正在編寫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