Table of Contents
一、Windows+nginx+php环境配置:
二、运行
三、性能测试
Home php教程 php手册 Windows下 nginx+php快速配置及性能测试

Windows下 nginx+php快速配置及性能测试

Jun 06, 2016 pm 07:59 PM
windows fast performance test Configuration

一、Windowsnginxphp环境配置: 1.下载php-5.3.16-nts-Win32-VC9-x86.zip(nts-非线程安全,nginx需要php的cgi模式运行),解压缩至d:\wnmp\php5 2.配置php.ini(可以将php.ini-development复制成php.ni,然后主要是4个位置配置): extension_dir = D:/wnmp/p

一、Windows+nginx+php环境配置:

1.下载php-5.3.16-nts-Win32-VC9-x86.zip(nts-非线程安全,nginx需要php的cgi模式运行),解压缩至d:\wnmp\php5

2.配置php.ini(可以将php.ini-development复制成php.ni,然后主要是4个位置配置):

extension_dir = "D:/wnmp/php5/ext"
Copy after login

extension=php_mysql.dll
...
Copy after login

cgi.fix_pathinfo=1
Copy after login

doc_root ="D:/wnmp/wwwroot"
Copy after login

3.下载nginx-1.3.4.zip Windows版,解压至d:\wnmp\nginx

4.配置nginx.conf,主要是站点目录和启用php:

location / {
            root   D:/wnmp/wwwroot; #站点根目录
            index  index.html index.htm;
        }
Copy after login

# 去掉注释,指明目录
location ~ \.php$ {
            root           D:/wnmp/wwwroot;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
            include        fastcgi_params;
        }
Copy after login

配置就这么简单。


二、运行

1.运行php:

@echooff
echo Starting php...
php5\php-cgi.exe -b 127.0.0.1:9000 -c D:/wnmp/php5/php.ini
Copy after login

2.运行nginx:
@echooff
echo Starting nginx
nginx.exe -p D:/wnmp/nginx
Copy after login

3.停止php和nginx:
@echooff
echo Stopping nginx...  
taskkill /F /IM nginx.exe > nul
echo Stopping PHP FastCGI...
taskkill /F /IM php-cgi.exe > nul
pause
exit
Copy after login

三、性能测试

apache是xampp包,可能有些优化,nginx纯粹按上面的手工配置,感觉php-cgi不稳定

1.html测试:

ab -n 200000 -c 20 -k http://localhost/test/index.htm
Copy after login

apache,7945.38个请求每秒.

D:\xampp\apache\bin>ab -n 200000 -c 20 -k http://localhost/test/index.htm
This is ApacheBench, Version 2.3 
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking localhost (be patient)
Completed 20000 requests
Completed 40000 requests
Completed 60000 requests
Completed 80000 requests
Completed 100000 requests
Completed 120000 requests
Completed 140000 requests
Completed 160000 requests
Completed 180000 requests
Completed 200000 requests
Finished 200000 requests


Server Software:        Apache/2.2.21
Server Hostname:        localhost
Server Port:            80

Document Path:          /test/index.htm
Document Length:        42354 bytes

Concurrency Level:      20
Time taken for tests:   25.172 seconds
Complete requests:      200000
Failed requests:        0
Write errors:           0
Keep-Alive requests:    198031
Total transferred:      8544538023 bytes
HTML transferred:       8471021747 bytes
Requests per second:    7945.38 [#/sec] (mean)
Time per request:       2.517 [ms] (mean)
Time per request:       0.126 [ms] (mean, across all concurrent requests)
Transfer rate:          331492.01 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    0   0.2      0      16
Processing:     0    3   5.8      0      31
Waiting:        0    2   5.0      0      31
Total:          0    3   5.8      0      31

Percentage of the requests served within a certain time (ms)
  50%      0
  66%      0
  75%      0
  80%      0
  90%     16
  95%     16
  98%     16
  99%     16
 100%     31 (longest request)
Copy after login

nginx,6986个请求每秒

D:\xampp\apache\bin>ab -n 200000 -c 20 -k http://localhost:8080/index.htm
This is ApacheBench, Version 2.3 
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking localhost (be patient)
Completed 20000 requests
Completed 40000 requests
Completed 60000 requests
Completed 80000 requests
Completed 100000 requests
Completed 120000 requests
Completed 140000 requests
Completed 160000 requests
Completed 180000 requests
Completed 200000 requests
Finished 200000 requests


Server Software:        nginx/1.3.4
Server Hostname:        localhost
Server Port:            8080

Document Path:          /index.htm
Document Length:        42354 bytes

Concurrency Level:      20
Time taken for tests:   28.641 seconds
Complete requests:      200000
Failed requests:        0
Write errors:           0
Keep-Alive requests:    198012
Total transferred:      8519030702 bytes
HTML transferred:       8471038962 bytes
Requests per second:    6983.09 [#/sec] (mean)
Time per request:       2.864 [ms] (mean)
Time per request:       0.143 [ms] (mean, across all concurrent requests)
Transfer rate:          290474.31 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    0   0.1      0      16
Processing:     0    3   6.1      0      47
Waiting:        0    2   4.8      0      31
Total:          0    3   6.1      0      47

Percentage of the requests served within a certain time (ms)
  50%      0
  66%      0
  75%      0
  80%      0
  90%     16
  95%     16
  98%     16
  99%     16
 100%     47 (longest request)
Copy after login

2.php测试

ngnix下的php-cgi直接奔溃,apache大概600个请求每秒。

怎么感觉还是apache好啊!?配置上有问题?

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
1 months ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
1 months ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. How to Fix Audio if You Can't Hear Anyone
1 months ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat Commands and How to Use Them
1 months ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Can I install mysql on Windows 7 Can I install mysql on Windows 7 Apr 08, 2025 pm 03:21 PM

Yes, MySQL can be installed on Windows 7, and although Microsoft has stopped supporting Windows 7, MySQL is still compatible with it. However, the following points should be noted during the installation process: Download the MySQL installer for Windows. Select the appropriate version of MySQL (community or enterprise). Select the appropriate installation directory and character set during the installation process. Set the root user password and keep it properly. Connect to the database for testing. Note the compatibility and security issues on Windows 7, and it is recommended to upgrade to a supported operating system.

How to speed up the loading speed of PS? How to speed up the loading speed of PS? Apr 06, 2025 pm 06:27 PM

Solving the problem of slow Photoshop startup requires a multi-pronged approach, including: upgrading hardware (memory, solid-state drive, CPU); uninstalling outdated or incompatible plug-ins; cleaning up system garbage and excessive background programs regularly; closing irrelevant programs with caution; avoiding opening a large number of files during startup.

How to pull the vertical reference line of PS How to pull the vertical reference line of PS Apr 06, 2025 pm 08:18 PM

Pull vertical guides in Photoshop: Enable ruler view (View > ruler). Hover the mouse over the vertical edge of the ruler, and then the cursor becomes a vertical line with double arrows and hold and drag the mouse to pull out the reference line. Click Delete by dragging the guide, or hovering it into a cross.

Solutions to the errors reported by MySQL on a specific system version Solutions to the errors reported by MySQL on a specific system version Apr 08, 2025 am 11:54 AM

The solution to MySQL installation error is: 1. Carefully check the system environment to ensure that the MySQL dependency library requirements are met. Different operating systems and version requirements are different; 2. Carefully read the error message and take corresponding measures according to prompts (such as missing library files or insufficient permissions), such as installing dependencies or using sudo commands; 3. If necessary, try to install the source code and carefully check the compilation log, but this requires a certain amount of Linux knowledge and experience. The key to ultimately solving the problem is to carefully check the system environment and error information, and refer to the official documents.

MySQL can't be installed after downloading MySQL can't be installed after downloading Apr 08, 2025 am 11:24 AM

The main reasons for MySQL installation failure are: 1. Permission issues, you need to run as an administrator or use the sudo command; 2. Dependencies are missing, and you need to install relevant development packages; 3. Port conflicts, you need to close the program that occupies port 3306 or modify the configuration file; 4. The installation package is corrupt, you need to download and verify the integrity; 5. The environment variable is incorrectly configured, and the environment variables must be correctly configured according to the operating system. Solve these problems and carefully check each step to successfully install MySQL.

Unable to access mysql from terminal Unable to access mysql from terminal Apr 08, 2025 pm 04:57 PM

Unable to access MySQL from the terminal may be due to: MySQL service not running; connection command error; insufficient permissions; firewall blocks connection; MySQL configuration file error.

How to solve mysql cannot connect to local host How to solve mysql cannot connect to local host Apr 08, 2025 pm 02:24 PM

The MySQL connection may be due to the following reasons: MySQL service is not started, the firewall intercepts the connection, the port number is incorrect, the user name or password is incorrect, the listening address in my.cnf is improperly configured, etc. The troubleshooting steps include: 1. Check whether the MySQL service is running; 2. Adjust the firewall settings to allow MySQL to listen to port 3306; 3. Confirm that the port number is consistent with the actual port number; 4. Check whether the user name and password are correct; 5. Make sure the bind-address settings in my.cnf are correct.

See all articles