Оптимизация, оптимизация, оптимизация. Оптимизация модуля aggregator в Drupal

Ещё раз убедился в том, что оптимизация - это очень важная вещь. Причём, приходится оптимизировать не толька своё ПО, но и сторонних компаний.

Так, например, в Drupal есть модуль Aggregator, который собирает информацию новости из разных источников и складирует её в базе данных. При 200 тыс. записях я увидел страшные "тормоза". Настолько страшные, что мой многопроцессорный сервер загружался на все свои мощности.

Пришлось искать причину. Оказывается, в файле \modules\aggregator\aggregator.module часто применяется в запросах Left Join. Я все их убрал.
Кроме того, индексы не построены по полям, по которым производится сортировка - построил. И в результате, теперь практически не видно "тормозов" от столь большой базы данных.

Если Вы захотите построить ключи, пройдитесь по всем Order By в запросах файла \modules\aggregator\aggregator.module и постройте индексы по полям, по которым делается сортировка ключи.

Комментарии

Популярные сообщения