laravel-swoole 配置 nginx反向代理

滕成双
2023-12-01
#原来的nginx+php-fpm模式配置

server {
    listen 80; 
    server_name laravel.com;
    index index.php;
    root  /home/wwwroot/laravel/public;
    if (!-e $request_filename) {
        rewrite ^(.*)$ /index.php last;break;
    }   
    location ~ [^/]\.php(/|$) {   
            try_files $uri =404;
            fastcgi_pass  unix:/tmp/php-cgi.sock;
            fastcgi_index index.php;
            include fastcgi.conf;
    }   
    location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ {   
            expires      30d;
    }   
    location ~ .*\.(js|css)?$ {   
            expires      12h;
    }   
}
#反向代理到swoole http服务

server {
    listen 80; 
    server_name swoole.com;
    location / {   
        proxy_pass http://127.0.0.1:9501;
        proxy_redirect off;  
        proxy_set_header Host $host;  
        proxy_set_header X-Real-IP $remote_addr;  
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;                                                                         
    }       
}

 nginx+php-fpm模式:

ab -n 100 -c 100 http://swoole.com
#请求后返回laravel默认的欢迎页面
#nginx反向代理->swoole_http_server每秒请求数明显比原生nginx->php-fpm高
#但是swoole_http_server有一定几率会报如下错误
[2016-08-24 17:54:25 *22191.0]  ERROR   swFactoryProcess_finish (ERROR 1004): send 902 byte failed, because session#1010 is closed.
 
Server Software:        nginx
Server Hostname:        swoole.fengfeng.com
Server Port:            80
 
Document Path:          /
Document Length:        1023 bytes
 
Concurrency Level:      100
Time taken for tests:   4.458 seconds
Complete requests:      100
Failed requests:        0
Write errors:           0
Total transferred:      191736 bytes
HTML transferred:       102300 bytes
Requests per second:    22.43 [#/sec] (mean)
Time per request:       4458.223 [ms] (mean)
Time per request:       44.582 [ms] (mean, across all concurrent requests)
Transfer rate:          42.00 [Kbytes/sec] received
 
Connection Times (ms)
           min  mean[+/-sd] median   max
Connect:        0    7   1.0      7       9
Processing:    10 2256 1224.0   2186    4442
Waiting:        3 2256 1224.2   2186    4442
Total:         10 2263 1224.3   2192    4448
 
Percentage of the requests served within a certain time (ms)
50%   2192
66%   2261
75%   2301
80%   2322
90%   4410
95%   4431
98%   4444
99%   4448
100%   4448 (longest request)

 反向代理到swoole http服务

ab -n 100 -c 100 http://laravel.fengfeng.com/
 
Server Software:        nginx
Server Hostname:        laravel.com
Server Port:            80
 
Document Path:          /
Document Length:        1023 bytes
 
Concurrency Level:      100
Time taken for tests:   34.714 seconds
Complete requests:      100
Failed requests:        0
Write errors:           0
Total transferred:      201864 bytes
HTML transferred:       102300 bytes
Requests per second:    2.88 [#/sec] (mean)
Time per request:       34713.635 [ms] (mean)
Time per request:       347.136 [ms] (mean, across all concurrent requests)
Transfer rate:          5.68 [Kbytes/sec] received
 
Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    3   0.3      3       3
Processing:   440 19471 9261.3  23374   34271
Waiting:      439 19471 9261.4  23374   34271
Total:        441 19473 9261.3  23377   34274
 
Percentage of the requests served within a certain time (ms)
  50%  23377
  66%  24695
  75%  27787
  80%  29166
  90%  31187
  95%  31235
  98%  31273
  99%  34274
 100%  34274 (longest request)

 类似资料: