Назад | Перейти на главную страницу

mysql config wordpress при высоких нагрузках

Мой запрос

./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.

Технические характеристики тестовой машины:

Конфигурацию MySQL можно прочитать здесь. Кто-нибудь посоветует, как я могу настроить его, чтобы улучшить производительность? Спасибо.

  • Установите w3tc или wp-super-cache
  • сократить количество постов / тегов (помните, что wordpress хранит ревизии постов в таблице wp_posts, поэтому, если кто-то хочет оставить себя авторизованным, а автосохранение запускается каждые 5 минут, вы можете получить там довольно много лишних ревизий)
  • заменить wordpress
  • получить более быстрый диск

Хотя я не согласен с некоторыми настройками в конфигурации, основываясь на интуиции, http://blog.mysqltuner.com/ содержит сценарий, который вы можете запустить и который вводит данные о ваших настройках конфигурации. Вы хотите, чтобы mysql работал более 48 часов, чтобы он давал наилучшие рекомендации.

  • table_definition_cache
  • thread_concurrency (на quadcore я обычно запускаю это на 6)
  • join_buffer_size (у вас он указан как join_buffer, что может быть неверным, посмотрите на переменные show status / show, чтобы убедиться, что ваши значения конфигурации вступают в силу, как вы ожидаете)

Если вы не используете электронную почту в том же разделе, что и ваша база данных, рассмотрите возможность монтирования файловой системы с помощью noatime, nodiratime. Проверьте другие настраиваемые параметры вашей файловой системы.