Najlepszy sposób optymalizacji wydajności uwierzytelnionego użytkownika?

22

Słowo kluczowe tutaj jest uwierzytelnione !

Obecnie (o ile mi wiadomo) de facto sposobem optymalizacji dostępu anonimowego są statyczne pamięci podręczne stron (lakier / squid / boost).

Jednak, o ile wiem, wydaje się, że nie robi to wiele dobrego w scenariuszu, w którym większość użytkowników jest uwierzytelniona.

Poza oczywistym APC, Memcache i rzucaniem pieniędzy na sprzęt, jaki jest najlepszy sposób na dostrojenie strony o dużym ruchu z najczęściej uwierzytelnionymi użytkownikami?

Na przykład: drupal.org, sieci społecznościowe, społeczności itp.

W tej chwili bardziej interesuje mnie Drupal 6, więc chyba MongoDB nie składa się teraz ...

Alex Weber
źródło

Odpowiedzi:

13

Każda strona jest inna, dlatego jej uruchomienie będzie wymagać różnych sztuczek. Oto te, których używam w naszych witrynach do rejestrowania wydajności.

Jeśli NAPRAWDĘ chcesz wiedzieć, co powoduje powolny kod, zdobądź trochę pamięci podręcznej swojej witryny. Co wszystko przyczynia się do czasu wykonania strony Drupal?

edycja: Wygląda na to, że zaczyna się opracowywać wersję 7.x Auth Cache. Nie użyłem tego, ale coś do zbadania.

mikeytown2
źródło
Dzięki za wskazówki, kilka interesujących modułów! Zostawię to otwarte jeszcze przez kilka dni :)
Alex Weber
Wydaje mi się, że pamiętam wątek gdo gdzieś, gdzie mówiłeś o używaniu ESI dla bloków Drupal. Czy wiesz, gdzie jesteśmy z tym?
Andy
6.x - drupal.org/project/esi 7.x - drupal.org/project/esi_api Wciąż nie używałem go w produkcji; użyłem go na naszych serwerach testowych i wydaje się, że działa.
mikeytown2
1
@ mikeytown2 Jesteś gwiazdą wszechczasów!
AyeshK
4

Zainstaluj uwierzytelnione buforowanie stron użytkownika (Authcache) i Easy authcache i napisz niestandardowe wtyczki, aby ułatwić authcache. Wtyczki sprawiają, że niektóre części strony można uzyskać za pomocą ajax. więc duża część strony zostanie zbuforowana, a zmienne części otrzymamy za pomocą ajax. Możesz użyć lakieru i innych serwerów proxy do buforowania takich stron.

Igor Rodinov
źródło
3

Profiluj swoje powolne strony za pomocą XHProf. To najlepsze narzędzie do pokazania, które funkcje są wolne. Drugim pomocnym narzędziem jest dziennik wolnych zapytań mysql.

moshe weitzman
źródło
2

Drupal.org naprawdę działa na Pressflow 6 i używa Varnish ; zawartość jest obsługiwana za pomocą modułu równoważenia obciążenia, a silnikiem bazy danych jest prawdopodobnie MariaDB .

Jeśli masz witrynę podobną do Drupal.org pod względem liczby zarejestrowanych użytkowników i liczby węzłów, powinieneś sprawdzić, czy możesz użyć Pressflow; weryfikacja, czy można użyć MariaDB zamiast MySQL, jest prawdopodobnie kolejnym krokiem.

kiamlaluno
źródło
Interesujące, nie zdawałem sobie sprawy, że Drupal.org używał MariaDB ... czy to oferuje tak dużą poprawę wydajności?
Alex Weber
Około 10% korzystamy również z MariaDB. Chcę następnie ocenić percona.com/software/percona-server, ponieważ wydaje się, że rozwija się w szybkim tempie.
mikeytown2
Interesujące rzeczy!
Alex Weber