Задача: уменьшить количество потребляемой памяти и увеличить скорость выполнения PHP скриптов при использовании Wordpress 3.x на VDS.
Первым делом настроим кэширование SQL запросов. Для этого будем использовать систему кеширования встроенную в MySQL. Все что нужно для ее активации, это изменение нескольких строк в файле конфигурации сервера БД. А именно двух:
Параметр query_cache_limit задает максимальный объем результата выполнения запроса, который может быть помещен в кэш. В то время как, параметр query_cache_size задает объем памяти выделяемой для кэша.
Для того, чтобы изменения вступили в силу, перезагрузим MySQL.
Для оптимизации работы PHP, будем использовать PHP акселератор The Alternative PHP Cache также известный как APC, оптимизирующий работу PHP за счет кэширование байткода скриптов.
Установить APC можно командой
А для его настройка достаточно немного подправить файл конфигурации PHP, добавив в него следующие строки
Из всех описанных в этом посте методов оптимизации, оптимизация PHP за счет акселератора дает наибольший прирост производительности и экономии памяти. Например в моем случае, объем потребляемой памяти уменьшился в девять раз, а время выполнения уменьшилось с пары секунд до нескольких десятых секунд.
Для оптимизации непосредственно Wordpress существует множество различных плагинов. Один из них Pure PHP Localization, который конвертирует бинарный файл локализации в PHP скрипт, что позволяет сэкономить некоторое количество оперативной памяти.
Конечно это не все способы оптимизации работы Wordpress, но даже этих достаточно, что бы в разы увеличить производительность вашего сайта.
Кэширование запросов к БД
Первым делом настроим кэширование 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, но даже этих достаточно, что бы в разы увеличить производительность вашего сайта.