我的nginx + php设置的瓶颈是什么?

时间:2015-08-02 12:52:18

标签: php amazon-web-services nginx siege

我在我的nginx服务器上运行了一些攻城测试。 瓶颈似乎不是cpu或内存所以它是什么?

我尝试在我的macbook上执行此操作:

ul:contains(Last) + ul>li>span

响应时间达到10秒,我在完成之前得到错误并围攻中止。

但我如果在我的服务器上运行上述内容

sudo siege -t 10s -c 500 server_ip/test.php

我明白了:

siege -t 10s -c 500 localhost/test.php

我还注意到,对于较低的并发数字,与外部相比,我在本地主机上的交易率大大提高了。

但是当上面的内容在localhost上运行时,CPU使用率很低,HTOP上的内存使用率很低。所以我很困惑如何提高性能,因为我看不到瓶颈。

ulimit返回50000因为我增加了它。有4个nginx工作进程,是我的cpu核心的2倍。这是我的其他设置

Transactions:               6555 hits
Availability:              95.14 %
Elapsed time:               9.51 secs
Data transferred:         117.30 MB
Response time:              0.18 secs
Transaction rate:         689.27 trans/sec
Throughput:            12.33 MB/sec
Concurrency:              127.11
Successful transactions:        6555
Failed transactions:             335
Longest transaction:            1.31
Shortest transaction:           0.00

test.php只是一个echo phpinfo()脚本,没有别的。没有数据库连接。

我相信这台机器是一台AWS m3大型,2个CPU内核和大约7GB内存。

以下是我的服务器块的内容:

worker_rlimit_nofile 40000;

events {
        worker_connections 20000;
        # multi_accept on;
}

  tcp_nopush on;
  tcp_nodelay on;
  keepalive_timeout 65;
  types_hash_max_size 2048;

这也是我的错误日志:

      listen 80 default_server;
        listen [::]:80 default_server ipv6only=on;

        root /var/www/sitename;
        index index.php index.html index.htm;

        # Make site accessible from http://localhost/
        server_name localhost;

        location / {
                try_files $uri $uri.html $uri/ @extensionless-php;
        }

location @extensionless-php {
    rewrite ^(.*)$ $1.php last;
}

        error_page 404 /404.html;

        error_page 500 502 503 504 /50x.html;
        location = /50x.html {
                root /usr/share/nginx/html;
        }

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        location ~ \.php$ {
        try_files $uri =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
        }

0 个答案:

没有答案