Neden APC "Cache tam sayımı" artırma edilir

0 Cevap php

Ben uzunca bir süre için bu ile oynadı ama yapmak için ne gibi bir kaybı biraz duyuyorum ettik. PHP 5.2.5 ile CentOS 5 üzerinde APC 3.1.3p1 kullanıyorum. APC opcode önbellek ve kullanıcı önbellek hem de davranmaktadır. Çoğunlukla bu sunucu Drupal APC cache destek için CacheRouter modülünü kullanarak 6 siteleri çalışır. Ben bir süre için APC 3.0.19 koşuyordu ama bazen kilitlemek (APC bu sürümünde belgelenmiş bir bug) Apache neden oldu bu yüzden ben 3.1.3p1 kulüpler bu yüzden.

Ben belleği 512 MBayt (mmap) sahip APC konfigüre ettik.

Belirtiler biraz aralıklı ama boş bir önbellek başlayarak bu gördüklerimi genellikle:

  • Kullanıcı önbellek oldukça yavaş doldurur. Bir şey 20.000 gibi ekler / sn 'lik bir başlangıç ​​insert oranına rağmen, kullanıcı önbellek sadece bir kaç yüz bin rapor sonra birkaç girişleri ve çok yavaş büyüyecek olacaktır. Ben belki olmanın write_locking bağlıyorlar ama sadece eldeki sorunun çözümünde önem taşımaktadır durumunda bunu söylemeyi istiyor olabilir. Birkaç saat sonra etrafında 30k girişlerinin bir denge vurur.

  • Parçalanma erken setleri ve hızlı büyür. Belki 10 saat kadar içinde ben% 100 parçalanması genellikle değilim.

  • Genel (opcode + kullanıcı) önbellek kullanımı 240MB civarında ya da öylesine dengeler. O seviyesinden gitmek neredeyse asla. Bir gün ya da öylesine sonra kullanıcı Cache Cache Tam Count (UCCFC) artan görmeye başlayacağız.

Bu benim UCCFC yazma anda 62.358 olduğu ve APC 280MB ücretsiz raporlama rağmen büyüyor. Ben 7200 bir user_ttl var, ama ben de 0 ya da diğer miktarların bunu ayarı ile oynadım ve bu sorun üzerinde az veya hiç etkisi vardır.

Ben sorun parçalanma ile ilgisi var sanıyorum. Şu anda benim sunucu "Parçalanma: 100.00% (24740 fragmanları 280.0 MBayt'lık üzerinden 280.0 MByte)" raporlama ve 280 MB sadece bu yüzden APC bildiriyor boş alan miktarı olur; Bir söylüyorum tesadüf, ben düşünüyorum. Ne yazık ki, "parçalanma" gerçekten APC dünyada sadece ne anlama geldiğini göstermek için başka dokümanlar veya çok az bilgi bulunan, ve bunu önlemek için yapabileceğiniz hemen hemen hiçbir şey gibi görünüyor ettik.

Herkes bu sorun üzerinde herhangi bir ışık tutabilir?

0 Cevap