2013-05-12 51 views
0

我在自己的計算機上運行白天服務器,它是一臺mac air筆記本電腦。如何在同一臺機器上啓動海量併發客戶端

我想測試它的併發能力。所以我想開始大量的併發客戶端連接到白天服務器。但我碰到的是

  • 一個進程不能啓動太多的線程,它的限制是每進程約2000線程,外存限制。
  • 我無法啓動太多的進程,因爲socket描述是有限的...

所以,我該怎麼辦併發測試,條件我沒有很多其他計算機...

回答

1

你不需要很多線程來建立多個連接。您不需要很多進程來建立多個連接。這聽起來像是你真正的問題是「我如何編寫一個可以處理大量連接的程序」。在Mac上,答案是kqueue。您也可以使用Boost ASIO庫,它會爲您撥打kqueue,併爲您提供更好的界面。

+0

Thanks @David,你指出我的最終目標,是的,我想編寫一個有效的併發服務器。我被告知這是一個衆所周知的話題,即所謂的10k問題。不過,我現在只是一名網絡編程的新手,因此我想感受一臺計算機的能力。所以,我寫了一個簡單的併發服務器,並且想要模擬大規模的同時連接。如果沒有這些特殊技術,服務器可以處理多少客戶端。總之,即使我已經制作了所需的大容量吞吐量服務器,我如何能夠在測試階段證明其能力? – wuhaochi 2013-05-12 01:37:30

+0

您將不得不使用海量吞吐量測試客戶端,可能由非常熟悉高吞吐量編碼的人編寫。 – 2013-05-12 01:49:20

相關問題