2

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

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

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

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

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

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

我得到:

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

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

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

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

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;

test.php 只是一个 echo phpinfo() 脚本,仅此而已。没有数据库连接。

我相信这台机器是 AWS m3 大,2 个 cpu 内核和大约 7gb 的内存。

这是我的服务器块的内容:

      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;
        }

这也在我的错误日志中:

connect() to unix:/var/run/php5-fpm.sock failed (11: Resource temporarily unavailable) while connecting to upstream, cli$
4

0 回答 0