Czy moduł PathAuto to wieprz pamięci?

9

Prawdopodobnie będę potrzebował użyć modułu PathAuto do bieżącego projektu. Podczas używania go jako programisty spowolnienie witryny podczas zmian jest szalone.

Czy PathAuto jest dużym ujściem pamięci i czy istnieją sposoby na złagodzenie tego?

David Csonka
źródło
4
Z reguły wyłączam PathAuto podczas tworzenia / tworzenia witryn. Wymagania dotyczące pamięci, zwłaszcza w przypadku masowego importu początkowej zawartości często przekraczają rozsądne wartości. O wiele łatwiej jest mi rozwinąć witrynę, zaimportować zawartość, a następnie masowo wygenerować ścieżki przed uruchomieniem.
Jake The Dweeb
1
Jaka wersja Drupal?
mpdonadio
Dobry punkt @JakeTheDweeb
chrisjlee

Odpowiedzi:

18

Zależy to w dużej mierze od używanej wersji rdzenia. Główny problem z pamięcią dotyczy modułu Token dla Drupala 6, gdy dany węzeł wygeneruje wszystkie możliwe tokeny dla tego węzła, bez względu na tokeny, które faktycznie zostaną wymienione. Oznacza to, że problemy powodują drogie tokeny, które muszą ładować lub renderować inne obiekty itp., A także generowana liczba tokenów.

W Drupal 7 ulepszony interfejs API tokenu generuje tylko tokeny, których faktycznie używasz i znacznie poprawia wydajność i wykorzystanie pamięci. Podczas normalnego użytkowania Pathauto naprawdę ma znaczenie tylko podczas zapisywania elementu, ale nie wpływa na „normalne” wyświetlenia strony.

Dave Reid
źródło
Korzystanie z Drupala 7. „Podczas normalnego użytkowania Pathauto naprawdę ma znaczenie tylko wtedy, gdy element jest zapisywany, ale nie wpływa na„ normalne ”wyświetlenia strony.” To dobra informacja do poznania. Zasadniczo, co mówisz, że użycie pamięci jest mniejsze po utworzeniu aliasów ścieżki?
David Csonka
1
Tak. Pathauto nie powinien powodować, aby cokolwiek działało w normalnych odsłonach, więc nie powinno również powodować dodatkowego zużycia pamięci.
Dave Reid
9

Jednym z problemów, na które natknęliśmy się w Drupal 7, jest to, że masz wiele węzłów, które otrzymałyby ten sam alias ścieżki. Ponieważ wtedy dzieje się tak, że pierwszy dostaje $ alias, drugi próbuje $ alias, widzi, że ten jest już zarezerwowany i używa $ alias-1. Trzeci próbuje $ alias, następnie $ alias-1, a następnie używa $ alias-2. I tak dalej. To nie jest problem pathauto i nie jest to naprawdę błąd, ponieważ powinieneś albo wyczyścić swoje gówniane dane (mieliśmy 600 tys. Zaimportowanych artykułów drukowanych z setkami równych tytułów ... jak „pogoda”;)) lub wybrać lepszy wzór dla swojego aliasu (np. podaj datę). Może to również poważnie spowolnić import danych, jeśli włączono pathauto.

Innym problemem jest to, że przeglądarka tokenów eksploduje, jeśli masz wiele pól, które mogą całkowicie zniszczyć dowolną stronę z listą przeglądarki tokenów, zwłaszcza strona konfiguracji pathauto, która ma wiele takich pól.

Poza tymi powiązanymi problemami, nie widziałem żadnych bezpośrednich problemów z wydajnością spowodowanych przez Pathauto. Jeśli uważasz, że tak, naprawdę powinieneś profilować swoją witrynę za pomocą Xhprof, aby zobaczyć, co tak naprawdę korzysta z procesora / pamięci.

Berdir
źródło
Dobre wskazówki, dzięki! Nie zastanawiałem się nad konsekwencjami potencjalnych duplikatów aliasów.
David Csonka