nginx win32 版本靜態文件測試 (Windows環境)
2024-08-30 12:24:11
供稿:網友
下載了 Nginx For Win32 的官方版本 nginx 0.7.53
進行了試用以及壓力測試。
安裝使用方式很簡單,直接貼官方的方式:
Win32 Binaries
As of 0.7.52, Nginx is now available as an official Windows binary.
Installation:
cd c:/
unzip nginx-0.7.52.zip
ren nginx-0.7.52 nginx
cd nginx
start nginx
Control:
nginx -s [ stop | quit | reopen | reload ]
For problems look in c:/nginx/logs/error.log or in EventLog.
但要說明一下的,之前有第三方編譯的 Nginx For Windows 版本,是可以加載到 Windows 服務中運行的。但在這個官方版本下該方法行不通。所以建議暫時手動啟動,或者新建一個計劃任務開機啟動。
然后迫不及待進行壓力測試。我們使用的工具是 Apache 的 ab , 測試的是純靜態頁面。就是 Nginx 一裝好后默認的 :
Welcome to nginx!
測試命令:./ab -c 100 -n 10000 http://192.168.3.50:8888/
操作系統:Windows server 2003 R2
硬件配置:Xeon 2.8G X2 1G RAM
測試結果:
Server Software: nginx/0.7.53
Server Hostname: 192.168.3.50
Server Port: 8888
Document Path: /
Document Length: 151 bytes
Concurrency Level: 100
Time taken for tests: 107.329 seconds
Complete requests: 10000 (100%處理請求,沒有丟失)
Failed requests: 0
Write errors: 0
Total transferred: 3620000 bytes
HTML transferred: 1510000 bytes
Requests per second: 93.17 [#/sec] (mean) 每秒處理請求 93.17 個
Time per request: 1073.293 [ms] (mean)
Time per request: 10.733 [ms] (mean, across all concurrent requests)
Transfer rate: 32.94 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 13 44.3 2 550
Processing: 180 1059 350.5 1065 2665
Waiting: 178 1053 352.3 1058 2664
Total: 194 1071 351.9 1074 2668
Percentage of the requests served within a certain time (ms)
50% 1074
66% 1162
75% 1215
80% 1288
90% 1547
95% 1694
98% 1853
99% 1946
100% 2668 (longest request)
################
由測試結果所得,Nginx for windows 100 個線程每秒只能處理 93 個請求。
如果再啟動多一個 ab 來壓,加起來就有200個線程,ab結果相當。各端每秒處理93個請求。
但如果你再啟動第三ab 進行 100 個線程壓力,正在進行的2個ab 其中一個就會被服務端拒絕。
來回嘗試修改Nginx的worker_processes 參數無果,修改了 Win2003 的并發線程也無果….難道 Nginx 在Windows下就只能有這么點能耐??回頭要再詳細找找原因。
另外還有一個問題,當壓力測試完畢了,在 windows 中查看進程會發現 Nginx 還占著 2~30 的cpu。
在命令行下 Nginx -s stop 也無法停止。必須 結束進程…..
################
初步嘗試就這幾點,希望是我個別的問題,有機會的朋友也不妨試試。