两个警告:这种性能的事情是上瘾的。你挤的每一点,你想要更多。 英语是我的第二语言,所以请原谅我的任何错误。Nginx的Fastcgi_cache性能 - 磁盘缓存VS tmpfs缓存VS静态文件
反正我比较不同情况下的WordPress的网站的nginx性能和东西似乎很奇怪。所以我在这里与大家分享,也许会调整我的期望。
Software
# NGINX 1.4.2-1~dotdeb.1
# PHP5-CGI 5.4.20-1~dotdeb.1
# PHP-FPM 5.4.20-1~dotdeb.1
# MYSQL Server 5.5.31+dfsg-0+wheezy1
# MYSQL Tuner 1.2.0-1
# APC opcode 3.1.13-1
这是一个ec2小实例。 使用SIEGE 40个并发请求进行2分钟的所有测试。 从localhost> localhost完成的所有测试。
场景一 - 经由fastcgi_cache缓存到TMPFS(MEMORY)
SIEGE -c 40个-b -t120s 'http://www.joaodedeus.com.br/quero-visitar/abadiania-go'
Transactions: 1403 hits
Availability: 100.00 %
Elapsed time: 119.46 secs
Data transferred: 14.80 MB
Response time: 3.36 secs
Transaction rate: 11.74 trans/sec
Throughput: 0.12 MB/sec
Concurrency: 39.42
Successful transactions: 1403
Failed transactions: 0
Longest transaction: 4.43
Shortest transaction: 1.38
方案二甲URL - 相同的URL经由fastcgi_cache到磁盘高速缓存的(EC2 oninstance存储 - 临时)
Transactions: 1407 hits
Availability: 100.00 %
Elapsed time: 119.13 secs
Data transferred: 14.84 MB
Response time: 3.33 secs
Transaction rate: 11.81 trans/sec
Throughput: 0.12 MB/sec
Concurrency: 39.34
Successful transactions: 1407
Failed transactions: 0
Longest transaction: 4.40
Shortest transaction: 0.88
这里就是音响第一个问题在弹出。我没有看到磁盘上的RAM的巨大差异。这是正常的吗?我的意思是,使用RAM高速缓存没有巨大的好处。
方案三 - 在同一个页面,nginx的
Transactions: 1799 hits
Availability: 100.00 %
Elapsed time: 120.00 secs
Data transferred: 25.33 MB
Response time: 2.65 secs
Transaction rate: 14.99 trans/sec
Throughput: 0.21 MB/sec
Concurrency: 39.66
Successful transactions: 1799
Failed transactions: 0
Longest transaction: 5.21
Shortest transaction: 1.30
保存为.html和服务器这是最主要的问题。这是一个巨大的差异。我的意思是,从缓存服务的AFAIK应该和提供静态.html文件一样快,对吗?我的意思是--nginx看到有一个位置缓存规则,并且看到有一个缓存版本,将其提供。为什么这么差?
缓存工作正常
35449 -
10835 HIT
1156 MISS
1074 BYPASS
100 EXPIRED
最好的问候。
Maxim帮助我在nginx邮件列表中对此进行了排序。事实证明,我的gzip正在吃掉所有的cpu。他用gzip_static指出了正确的方向。所以如果你想让很多sim用户不使用高gzip压缩级别,那么记住男孩,除非你有cpu空闲。节省是不值得的。如果你使用gzip并使用gzip静态注意文件时间戳gzip而不是gzip必须使用相同的时间戳,这是最好的方法。 – ddutra
@ddutra在遵循这些建议之后,您的测试结果如何?他们怀有重要的结果吗? – Zhianc
@ddutra任何信息将帮助我 –