2009-06-27 17 views

Odpowiedz

15

Zgodnie z APC: Runtime Configuration, "W przypadku braku pamięci podręcznej pamięć podręczna zostanie całkowicie wymazana, jeśli ttl jest równe 0. W przeciwnym razie, jeśli ttl jest większe niż 0, APC podejmie próbę usunięcia nieaktualnego wpisy. "

Jeśli jest niezerowa wartość TTL, spowoduje to usunięcie wpisów, których upłynął czas życia. ;) W przeciwnym razie usunie całą pamięć podręczną.

Zauważam, że tak naprawdę nie rozwiązuje problemu, jeśli pamięć podręczna kończy się z pamięci i masz zbyt wysoki czas TTL.

5

Z doświadczenia (uruchamiamy go w produkcji), jeśli nie ustawisz TTL lub TTL jest bardzo wysoki i nic nie jest nieaktualne, cała pamięć podręczna jest opróżniana (jak w pustym). Naprawdę chcesz tego uniknąć, ponieważ spowoduje to wzrost obciążenia na kolejną prośbę, z którą PHP musi sobie poradzić, ponieważ każdy plik potrzebny do APC będzie musiał skompilować i przechowywać w pamięci (co jest procesem nieco wolniejszym niż w ogóle nie ma włączonej pamięci podręcznej). Także jeśli odbierasz dużo ruchu i pustą pamięć podręczną, możesz doświadczyć szumu w pamięci podręcznej (zobacz google z powodu tego szataństwa).

Na marginesie, zobacz tę starą prezentację dla dość przybliżonego przewodnika po APC i rzeczy do obejrzenia na http://www.slideshare.net/oscon2007/os-gopal Coś może być nieaktualne, ale teoria nadal jest prawdziwa.

+0

Link przestał działać :( – chiborg

+1

Zaktualizował link, tak aby wskazywał działającą wersję tych samych slajdów. –

+0

Cache Slam nie powinien być już problemem, ponieważ APC wprowadziło funkcję write_lock (http: //www.php. net/manual/en/apc.configuration.php # ini.apc.write-lock – marcovtwout