學習【伺服器編程】做性能測試實驗時需要至少什麼配置的主機?

如題,比如測試並發數測試什麼的,感覺實驗室和自己的筆記本配置都比較低(還是雙核,4G,百兆網卡時代的主機),那麼如果想做相關的實驗(如測試IO性能,測試Nginx等伺服器程序)。

1.一般需要什麼樣硬體配置的主機?

2.低性能的主機是否影響性能測試實驗?(是否可以自己的配置低,那就做不同模型下的對比測試?而不做絕對參數測試?)

3. 如果可以對現有主機進行改造的話,可以增加哪些配置?

4.如果自己的古董機影響測試,是否有替代方案?(看別的回答有說按小時租用如Amazon EC2 之類的?)


首先性能測試你至少需要兩台機器。如果自己掏腰包,預算緊張的話,用普通台式機就行,但至少要千兆網路,內存最好上 8GB。

我家裡主力台式機是一台i5-2500,16G RAM。還有一台 Intel Celeron 1037U 的低端機器,8G RAM,很便宜,性能也湊合。關鍵是這兩台機器幾乎沒噪音。

我認為有類似配置的機器就足夠你學習網路編程時做性能測試了。


如果你想測試nginx的IO性能以及網路性能,或者是對比其他apache的性能,那麼網上的測試結果和你用個人筆記本的測試結果差距應該也不大,基本上在一個數量級吧。

如果你想要非常接近的結果,那麼你可以選擇按需計費的雲計算資源,我曾使用過阿里,ucloud,在高配置領域,當時(2015年9月左右)是ucloud比阿里好,最高配置(64G+16核)的價格大約是7元/小時,測試的虛擬機最高達到網路1Gbps,千萬條並發連接

單機千萬並發連接實戰(修訂版)


我個人的經驗:

  • 最終的測試一定要在跟你線上伺服器一樣的環境上,否則你永遠不知道哪個參數的變化會變成新的瓶頸。

  • 一開始的時候什麼機器其實無所謂了,這個階段主要是為了發現你程序的問題,但是性能測試的目標機器和測試客戶端一定要分開。有的時候大量客戶端本身就提供了足夠多的壓力了。當你把所有這個階段發現的 hotspot 都搞定的時候,再在線上機上跑吧。


租用ec2或者其他按小時結算的雲主機


推薦閱讀:

吞吐量、丟包率性能測試疑問,網路設備(如路由器、防火牆)性能測試時,按照RFC2544文檔描述,如下?
南京正厚軟體是培訓嗎,培訓效果呢? 聽說是挺負責的公司,有沒有去了解過的,請告知內幕?
測試好多都是性能小白,雖學了些性能知識,但在實際工作做開展性能測試,都很茫然,求指導,應該怎麼處理?
新人如何學習性能測試?
如何做一份精緻的性能測試報告?

TAG:Linux | 計算機網路 | Nginx | 性能測試 | 伺服器編程 |