Что было бы хорошим способом понять механизм кэширования существующей системы - PullRequest
1 голос
/ 27 октября 2011

Здравствуйте, я работаю над существующим сайтом Drupal для моего клиента.У него этот сайт работает немного медленно, и мой клиент хочет, чтобы я внес изменения в систему кэширования этого сайта, так как она продолжает падать, когда количество пользователей на сайте увеличивается.

Теперь мне нужен совет, с чего начать, чтобы понять о системе кэширования этого сайта.Я сделал grep для нескольких функций кэширования в Drupal и увидел там файлы boost и memcache.

1 Ответ

1 голос
/ 27 октября 2011

Я не знаю, какую версию drupal вы используете, но это не должно иметь большого значения, кроме доступных вам модулей.

В основном у Drupal есть API-интерфейс кеширования, который работает, сохраняя все, что хочет кешировать, в БД в таблицах, начинающихся с cache_, используя cache_set и cache_get. Если на сайте много трафика, дополнительные издержки чтения и записи в БД могут привести к его снижению. Эти функции будут работать с любым из модулей кэширования, которыми вы заменили исходный, например:

Чтобы преодолеть это, вы можете добавить различные модули для изменения кэша, например, используя модуль memcache , чтобы хранить значения кэша в памяти, а не в БД. Вам все равно нужно будет настроить экземпляр memcache на сервере, а затем настроить его в файле settings.php, но все это объясняется в файле readme для memcache.

Весьма вероятно, что сайт страдает из-за просмотров на странице. Я бы посмотрел на просмотры и посмотрел, делают ли они очень медленные запросы. Представления всегда тяжелы на БД. Возможно, вы захотите просмотреть каждое из представлений и изменить (или даже включить) их настройки и параметры кэширования.

Возможно, вы страдаете, потому что у вас много зарегистрированных пользователей на сайте, и они обойдут большую часть кэша, поэтому вы можете попробовать модуль AuthCache , которая позволяет вам тонко настроить кеширование блоков для зарегистрированных пользователей.

Вы также можете выполнить поиск сайтов с высоким трафиком и кэширование для drupal. Я нашел довольно много, когда я оптимизировал сайт, над которым я работал, с ~ 100 000 посетителей в день.

...