当前位置 主页 > 服务器问题 > win服务器问题汇总 >

    nginx win32 版本静态文件测试 (Windows环境)

    栏目:win服务器问题汇总 时间:2019-11-28 12:15

    下载了 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 也无法停止。必须 结束进程…..

    ################

    初步尝试就这几点,希望是我个别的问题,有机会的朋友也不妨试试。

    配置 PD930 CPU,2G 内存,测试结果如下:

    C:\>ab -n 10000 -c 100 http://192.168.1.8/
    This is ApacheBench, Version 2.3 <$Revision: 655654 $>
    Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
    Licensed to The Apache Software Foundation, http://www.apache.org/

    Benchmarking 192.168.1.8 (be patient)
    Completed 1000 requests
    Completed 2000 requests