Alternative-Php-Cache

PHP APC - 100% 碎片化是件壞事嗎?

  • May 9, 2013

APC.PHP 告訴我:

Uptime  2 days, 15 hours and 13 minutes
File Upload Support 1
File Cache Information
Cached Files    375 ( 53.5 MBytes)
Hits    377684
Misses  376
Request Rate (hits, misses) 1.66 cache requests/second
Hit Rate    1.66 cache requests/second
Miss Rate   0.00 cache requests/second
Insert Rate 0.00 cache requests/second
Cache full count    0
User Cache Information
Cached Variables    573 ( 2.3 MBytes)
Hits    77569
Misses  889
Request Rate (hits, misses) 0.34 cache requests/second
Hit Rate    0.34 cache requests/second
Miss Rate   0.00 cache requests/second
Insert Rate 0.06 cache requests/second
Cache full count    0

"Fragmentation: 100.00% ( 8.0 MBytes out of 8.0 MBytes in 95 fragments)"

變數:

apc.shm_segments    1
apc.shm_size    64M
apc.slam_defense    0
apc.stat    1
apc.stat_ctime  0
apc.ttl 3600
apc.user_ttl    3600
apc.max_file_size   1M
apc.gc_ttl  3600

環境:

Amazon EC2 微型實例,執行一個非常小的 wordpress 站點,訪問者很少,大約有 8 個外掛。

問題:

1)如果碎片變成100%,這有關係嗎?它會以任何方式影響性能嗎?

2)為什麼碎片沒有下降?

我認為當您將 ttl 設置為 > 0 時它應該會自動釋放空間

  1. 為什麼在 24 小時內處於 100% 碎片狀態,記憶體完整計數不會增加?

  2. 我使用的是 APC 版本 3.1.7 是否值得升級到最新版本?(由於依賴關係,使用最新版本似乎更複雜,所以我寧願盡可能避免)

1)如果碎片變成100%,這有關係嗎?它會以任何方式影響性能嗎?

僅當 APC 嘗試將新內容添加到 shm 時。由於您獲得了 99.9% 的命中率(唯一的失誤是最初載入文件),因此不會影響性能。

2)為什麼碎片沒有下降?

因為 ttl 僅在需要更多空間時才起作用,而目前的差距無法滿足。

3)為什麼記憶體滿計數不增加

這有點用詞不當 - 它確實計算了 apc 必須從記憶體中逐出內容以為新條目騰出空間的次數。

我使用的是 APC 版本 3.1.7 是否值得升級到最新版本?

這個問題太複雜了,無法在這裡回答。使用安全/穩定性/性能更新檔使您的安裝保持最新是一種很好的做法 - 但保持安裝組件的一致性也很重要。

引用自:https://serverfault.com/questions/506328