Pamięć podręczna jest włączona, ale pamięć podręczna var / cache jest pusta?

16

Mam magento 1.9.0.1 i wszystkie pamięci podręczne są włączone, dlaczego jest var/cachepusty? Mogę tylko opróżnić pamięć podręczną z zaplecza, ale gdy jest zepsuty, mam problem.

Gdzie Magento zapisuje pliki pamięci podręcznej?

Fabian Blechschmidt
źródło
Może to być także problem dotyczący uprawnień / użytkownika / grupy.
Dan Norris

Odpowiedzi:

15

Może być też używasz innego jak przechowywanie pamięci podręcznej memcached,Redis

Sander Mangel
źródło
tak, jeśli magent użyje redis / memcached jako sklepu z pamięcią podręczną, nie zapisuje się w folderze var / cache
Amit Bera
Gdzie to oszczędza?
Czarny
13

Jeśli masz var katalog, a nawet var/cachekatalog, ale Magento nie może do niego pisać, Magento użyje go, sys_get_temp_dir()aby określić dobre miejsce na umieszczenie plików pamięci podręcznej.

Często tak jest /tmp/i powoduje /tmp/magento/var/cache(Dzięki fschmengler)

Fabian Blechschmidt
źródło
5
w tym przypadku /tmp/magento/var/cache
katalog
czy możesz spojrzeć na magento.stackexchange.com/questions/94638/... i odpowiedzieć. Mam nadzieję, że możesz podać wystarczająco dużo informacji
Butterfly
to naprawdę mi pomaga
Amit Bera
Zamiast pisać wdzięczne komentarze proszę głosować, aby zostawić pole komentarza dla „prawdziwych” komentarzy i pytań proszę :)
Fabian Blechschmidt
Zrobiłem to już w przeszłości .. więc tym razem nie mam głosowania :)
Amit Bera
6

Natknąłem się na ten problem, gdy magento zapisuje plik pamięci podręcznej do /tmp/magento/var/cachefolderu.

To dziwny problem. Rozwiązałem ten problem z SELinux, wykonując polecenie.

$ sudo restorecon -R /var/www/html
$ sudo setsebool -P httpd_unified 1
Mufaddal
źródło
3

Na kogo to wpływa. Każdy plik z rozszerzeniem „ .xml” może i będzie używany.
Nie wystarczy po prostu zmienić nazwę pliku XML na coś takiego oldsomething.xml, jak musisz zrobić coś takiego, local.xml.backgdzie plik nie kończy się kropką XML. Pozostawienie local.xmli oldlocal.xmlzaładuje oba pliki.

Nie wiem wystarczająco dużo o wewnętrznych działaniach, aby wiedzieć, dlaczego tak jest, ale przetestowałem to, aby stwierdzić, że to prawda. Możesz to udowodnić, wprowadzając coś, co złamie Magento w zmienionej nazwie XML, a Magento przestanie działać.

Może kod Magento nie rozróżnia nazwy pliku, a jedynie rozszerzenie w określonej lokalizacji?

Moja strona internetowa jest nadal w Magento 1.6.2.0
Zbyt nieśmiała, aby ją zaktualizować (nie jest ), ale włączyłem część 1.8 Redis i wydaje się, że działa. Testuję wersję 1.9.2.0, ale nie jestem jeszcze gotowy na czas najwyższy, ponieważ niektóre moje rozszerzenia już nie działają.

Spróbuj https://github.com/steverobbins/Magento-Redismanager . Podoba mi się to też może ci się spodobać!

James Niland
źródło
Dla twojej informacji Magento ładuje .xmlpliki Mage_Core_Model_Configw funkcji loadBase(). To wszystko trwa .xmlz funkcją PHP glob()na początku$files = glob($etcDir.DS.'*.xml');
Matthéo Geoffray
0

Udało się rozwiązać problem, a to najdziwniejsza rzecz na świecie. Kiedy zmieniam, local.xmlaby naprawić problem, umieszczam kopię zapasową starego pliku z napisem local_back.xml. Po prostu usuwam ten plik i teraz wszystko działa dobrze. Nie mam pojęcia, dlaczego Magento odebrał ten plik. W każdym razie problem został rozwiązany.

Ashvin Monpara
źródło
1
Ponieważ magento ładuje każdy plik XML, app/etc/jak widać\Mage_Core_Model_Config::loadBase
Fabian Blechschmidt
mam bigin magento devloper
Ashvin Monpara
0

Być może ktoś nie rozumie, co się dzieje lub mojej odpowiedzi, ponieważ w innych commits Magento załaduje wszystko, co kończy się na „.xml”. Więc jeśli chcesz tworzyć kopie zapasowe lub kopie, które nie są używane, dołączaj kopie zapasowe, kopie zapasowe lub cokolwiek innego, NIE DZIAŁA!

back_local.xml nie będzie działać

Jeśli chcesz kopii lub kopii zapasowych, musisz zmienić sufiks nazwy pliku lub innymi słowy w formacie „local.xml.backup lub całkowicie zabić .xml. Używam local.xml.backup jako kopii, podczas gdy ja testuję , ponieważ mogę łatwo usunąć plik „.backup”, aby go użyć, jeśli chcę. Zawsze możesz użyć opcji „Zapisz jako” w edytorze dla różnych wersji, takich jak .back_today lub .back2 i tym podobne.

Dla twojej informacji Magento ładuje pliki .xml do Mage_Core_Model_Config w funkcji loadBase (). Zabiera wszystkie pliki .xml z funkcją PHP glob () na początku $ files = glob ($ etcDir.DS. '*. Xml'); - Matthéo Geoffray 17 lutego 16 o 14:56

Więc podczas testowania różnych backendów używaj powyższego formatu.

Jeśli chodzi o memcached APC , są one nieaktualne i nie używają kluczy takich jak Redis . Z tego, co rozumiem, nie ma znaczącej różnicy między

    <session_save><![CDATA[db]]></session_save>

[pliki], [db], [memcache] lub inna pamięć podręczna, ponieważ wydaje się, że jest to raczej sytuacja czasu odpowiedzi serwera i / lub dysków twardych używanych na serwerze. Zobacz: „ Pamięć sesji Magento: które wybrać i dlaczego ?”

Kiedy My VPS (InMotion) zmieniło się na dyski SSD, wszystko było niesamowicie szybsze. Dostawałem milisekundowe transfery!

Na moich własnych serwerach testowych w domu, jedno urządzenie, które wykorzystuje prędkość wrzeciona HST 10k i obciążenie pamięci podręcznej łodzi, takie jak 64 MB (oznaczone do użytku na serwerze), dysk twardy jest bardzo szybki, a drugie bardzo wolno z dyskami twardymi, które otrzymujesz z pudełka OEM.

Również posiadanie 8 rdzeni procesora i 32 GB pamięci RAM pomaga dużo. Tak wiele z tego, co jest oferowane online jako VPS lub nawet serwer dedykowany, to oszustwo !!! Musisz wejść w szczegóły lub zasoby, które otrzymasz, ponieważ Unlimited nic nie znaczy, jeśli serwer jest w rzeczywistości udostępnianym hostowaniem jako coś innego. I nie pozwól, aby Zdjęcia wprowadziły Cię w błąd co do tego, czym może być ich obiekt. Możesz dostać coś, co Hillary dostała za e-maila, po prostu coś w szafce w łazience. Haczyk polega na tym, że często chcą zawarcia umowy na rok lub dłużej, aby uzyskać dobrą cenę, a optymalizacja konfiguracji może zająć miesiąc lub dłużej, zanim dowiesz się, że jesteś na wolnym serwerze !!!

James Niland
źródło