我有一個接收流數據的套接字連接。每天的消息數量大約是150萬。收到消息後,我需要處理它們。由於消息號碼非常大。我是多線程的消息處理代碼。現在我有8個線程,8個消息隊列。套接字進程將消息依次放入這些隊列中。每個進程只需要在自己的隊列中處理消息。有關高性能流數據處理的問題
我現在的問題是我的隊列溢出。
我應該有更多的隊列嗎? 所有線程將使用同步方法寫入共享對象。更多的隊列會相互影響並使事情變得更糟?
我應該有更大的緩衝區? 這些似乎很安全,但我真的想更快地處理消息。
我應該改變我的設計嗎? 有什麼好的建議嗎?遵循的指南?
歡迎任何評論。
知道要做什麼的關鍵是找出花費的時間:調度消息,處理消息並寫入共享對象的同步方法。如果大部分時間都花在處理消息上,那麼只有更多的線程才能工作。你能做一些分析嗎? – stefaanv 2011-06-17 11:40:21