Pull to refresh

Оптимизация Wordpress 3.x на VDS

Задача: уменьшить количество потребляемой памяти и увеличить скорость выполнения PHP скриптов при использовании Wordpress 3.x на VDS.

Кэширование запросов к БД

Первым делом настроим кэширование SQL запросов. Для этого будем использовать систему кеширования встроенную в MySQL. Все что нужно для ее активации, это изменение нескольких строк в файле конфигурации сервера БД. А именно двух:

[mysqld]
# .....
query_cache_limit = 1M
# Для отключения кэширования достаточно установить этот параметр в ноль
query_cache_size = 32M
# ....


Параметр query_cache_limit задает максимальный объем результата выполнения запроса, который может быть помещен в кэш. В то время как, параметр query_cache_size задает объем памяти выделяемой для кэша.

Для того, чтобы изменения вступили в силу, перезагрузим MySQL.

PHP акселератор

Для оптимизации работы PHP, будем использовать PHP акселератор The Alternative PHP Cache также известный как APC, оптимизирующий работу PHP за счет кэширование байткода скриптов.

Установить APC можно командой

sudo pecl install apc

А для его настройка достаточно немного подправить файл конфигурации PHP, добавив в него следующие строки

;;;;;;;;;;;;;;;;;;;;;;
; Dynamic Extensions ;
;;;;;;;;;;;;;;;;;;;;;;
; ....
extension = apc.so
apc.enabled = 1
apc.shm_size = 30
apc.rfc1867 = 1


Из всех описанных в этом посте методов оптимизации, оптимизация PHP за счет акселератора дает наибольший прирост производительности и экономии памяти. Например в моем случае, объем потребляемой памяти уменьшился в девять раз, а время выполнения уменьшилось с пары секунд до нескольких десятых секунд.

Pure PHP Localization

Для оптимизации непосредственно Wordpress существует множество различных плагинов. Один из них Pure PHP Localization, который конвертирует бинарный файл локализации в PHP скрипт, что позволяет сэкономить некоторое количество оперативной памяти.

Конечно это не все способы оптимизации работы Wordpress, но даже этих достаточно, что бы в разы увеличить производительность вашего сайта.
Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.