Benim için çok yavaş ve ağrılı disk oturumları saklamak. Ben çok yüksek trafik yaşıyorum. Ben bunu nasıl yapabilirim, Gelişmiş PHP Cache oturumu depolamak istiyor?
Ben bir lütuf olarak 100 puan sunarak daha iyi cevaplar kandırmaya çalıştı, ama cevapların hiçbiri gerçekten tatmin edici edildi.
Bu gibi önerilen çözümleri toplamak istiyorum:
Orada uygun kilitlemeyi sağlar APC hiçbir mekanizma, Ama bu kilitleme kimse geri yazmadan önce okunur başlangıçta oturum verilerini değiştiren sağlamak için önemlidir çünkü APC gerçekten, bir oturum deposu olarak kullanılamaz.
Bottom line: kaçının, bu iş olmaz.
Oturum işleyicileri bir dizi mevcut olabilir. "Kayıtlı eylemcileri kaydetmek" için Session
bölümünde phpinfo()
çıkışını kontrol edin.
Out-of-the-box çalışır, ama bilinen nedenlerle RAM disk olarak monte edilmiş bir dosya sistemine ihtiyaç duymaktadır.
PHP mm
etkin derlendi kullanılabilir. Bu pencerelerin üzerinde yerleşik olduğunu.
PHP bunun için işleyici bir kurtarış özel oturumu ile birlikte geliyor. Yüklü memcache sunucusu ve PHP istemci gerektirir. İki memcache uzantıları hangi bağlı olarak yüklü, kaydetmek işleyicisi memcache
veya memcached
denir ya.
Teorik olarak, sizin için şeffaf yapmak için APC kullanan bir custom session handler yazmak mümkün olmalı. Ancak, aslında hızlı bir beş dakikalık arama gerçekten umut verici bir şey bulmak mümkün olmamıştır; Çoğu insan baytkodu önbellek için APC kullanarak ve memcached kendi oturumları koyarak gibi görünüyor.
Sadece bu tür tmpfs
veya ramfs
zamanda ciddi bir performans artışı var, ve gibi bir RAM diske (PHP oturum dosyalarının saklandığı yerde ya,) sizin / tmp diski koyarak çok daha fazla olurdu sıfır kod değişiklikleri ile şeffaf anahtarı,.
Performans artışı daha az olabilir, ama yine de on-disk oturumları önemli ölçüde daha hızlı olacak.
PHP internals paylaşılan bellek içinde oturum verilerinizi saklayabilirsiniz.
session.save_handler = mm
Ama mevcut olması gerekir: http://php.net/manual/en/session.installation.php
. APC_journaling veya birlikte benzer kullanılan şey - oturum erişimi (açık-yazma-close / başlangıç) her zaman döngüsel olduğu Oturum başlayarak, Açılış ve Yazma hemen ardından Kapanış Açık Oturum (Unirgy en Cevap içinde kilitleme sorunu çözmek gerekir Ben de İkinci sınıf düşünün Oturumlar A oturumu başlar .... sonuçta daha iyi olurdu ve her oturum atanan benzersiz bir dış kimliği ile yazılır ile, oluşturulan / o oturumu kapatılır ve bir dergi (_store & _add yoluyla apc önbellek dizisi) açıldı Daha sonra, okuma doğrulanmış ve oturumuna yazılmış olabilir oturumuna gitmek amacıyla başka yazma için (benzersiz kimliği tespit!) apc sonraki uygun fırsatta.
I found a good blog post Explaining that the Locking havoc Sven refers to comes from the Session blocking until it's closed or script execution ends. The session being immediately closed doesn't prevent reading just writing. http://konrness.com/php5/how-to-prevent-blocking-php-requests - link to the blog post. Hope this helps.
PHP dış verileri önbelleğe
Eğitimi Bağlantı - http://www.gayadesign.com/diy/caching-external-data-in-php/
How to Use APC Caching with PHP
Eğitimi Bağlantı - http://www.script-tutorials.com/how-to-use-apc-caching-with-php/