
Мой запрос
./mysqlslap --user=root --concurrency=50 --iterations=1 --pass=toor -vv --create-schema=db --query="SELECT SQL_CALC_FOUND_ROWS wp_posts.* FROM wp_posts INNER JOIN wp_term_relationships ON (wp_posts.ID = wp_term_relationships.object_id) INNER JOIN wp_term_taxonomy ON (wp_term_relationships.term_taxonomy_id = wp_term_taxonomy.term_taxonomy_id) WHERE 1=1 AND wp_term_taxonomy.taxonomy = 'category' AND wp_term_taxonomy.term_id IN ('1') AND wp_posts.post_type = 'post' AND (wp_posts.post_status = 'publish') GROUP BY wp_posts.ID ORDER BY wp_posts.post_date DESC LIMIT 35, 6"
Некоторые результаты
Average number of seconds to run all queries: 68.904 seconds
Minimum number of seconds to run all queries: 68.904 seconds
Maximum number of seconds to run all queries: 68.904 seconds
Number of clients running queries: 50
Average number of queries per client: 1
Средняя нагрузка достигает пика выше 32.
Технические характеристики испытательной машины:
- 4 ГБ ОЗУ
- E6550 @ 2.33GHz (2 ядра)
- Один диск SATA
- Debian Lenny + Apache + PHP + MySQL
Конфигурацию MySQL можно прочитатьздесь. Есть ли у кого-нибудь советы, как мне настроить его, чтобы улучшить производительность? Спасибо.
решение1
- Установить w3tc или wp-super-cache
- сократите количество постов/тегов (помните, что WordPress хранит версии постов в таблице wp_posts, поэтому, если кто-то предпочитает оставаться в системе и автосохранение запускается каждые 5 минут, вы можете получить там довольно много лишних версий)
- заменить вордпресс
- получить более быстрый диск
Хотя я и не согласен с некоторыми настройками в конфигурации, основываясь на интуиции,http://blog.mysqltuner.com/содержит скрипт, который вы можете запустить, чтобы получить входные данные для ваших настроек конфигурации. Вам нужно, чтобы mysql работал в течение 48+ часов, чтобы он дал наилучшие рекомендации.
- кэш_определения_таблицы
- thread_concurrency (На четырехъядерном процессоре я обычно запускаю это на скорости 6)
- join_buffer_size (он указан как join_buffer, что может быть неверно, проверьте show status/show variables, чтобы убедиться, что ваши значения конфигурации вступают в силу так, как вы ожидаете)
Если вы не используете электронную почту на том же разделе, что и ваша база данных, рассмотрите возможность монтирования файловой системы с noatime,nodiratime. Проверьте другие настраиваемые параметры в вашей файловой системе.