兩個警告:這種性能的事情是上癮的。你擠的每一點,你想要更多。 英語是我的第二語言,所以請原諒我的任何錯誤。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任何信息將幫助我 –