我在我的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;
}