Мой запрос
./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 можно прочитать здесь. Кто-нибудь посоветует, как я могу настроить его, чтобы улучшить производительность? Спасибо.
Хотя я не согласен с некоторыми настройками в конфигурации, основываясь на интуиции, http://blog.mysqltuner.com/ содержит сценарий, который вы можете запустить и который вводит данные о ваших настройках конфигурации. Вы хотите, чтобы mysql работал более 48 часов, чтобы он давал наилучшие рекомендации.
Если вы не используете электронную почту в том же разделе, что и ваша база данных, рассмотрите возможность монтирования файловой системы с помощью noatime, nodiratime. Проверьте другие настраиваемые параметры вашей файловой системы.