Как оптимизировать настройки MySQL большое количество запросов?

Имеем сервер Intel Xeon E3-1245, 64Гб оперативки, 3Тб винт. На сервере крутится только один сайт - форум на IPB 3.4.8. Посещалка - около 2000 уников в день. Нагрузка на сервер не поднимается выше 50%, но форум тормозит жутко. Основная причина тормозов - огромные запросы к бд при обновлении страниц, которые вызваны тем, что на форуме очень прого подфорумов. Кэширование настроили, но не особо помогло. Вот что выдаёт мускул-тюнер:
>> MySQLTuner 1.4.0 - Major Hayden
>> Bug reports, feature requests, and downloads at mysqltuner.com
>> Run with '--help' for additional options and output filtering
[OK] Logged in using credentials from debian maintenance account.
[OK] Currently running supported MySQL version 5.5.43-0ubuntu0.14.04.1-log
[OK] Operating on 64-bit architecture

-------- Storage Engine Statistics -------------------------------------------
[--] Status: +ARCHIVE +BLACKHOLE +CSV -FEDERATED +InnoDB +MRG_MYISAM
[--] Data in MyISAM tables: 1G (Tables: 1030)
[--] Data in PERFORMANCE_SCHEMA tables: 0B (Tables: 17)
[--] Data in InnoDB tables: 20M (Tables: 75)
[!!] Total fragmented tables: 105

-------- Security Recommendations -------------------------------------------
[OK] All database users have passwords assigned

-------- Performance Metrics -------------------------------------------------
[--] Up for: 36d 21h 50m 9s (74M q [23.485 qps], 11M conn, TX: 6403B, RX: 21B)
[--] Reads / Writes: 82% / 18%
[--] Total buffers: 304.0M global + 3.6M per thread (300 max threads)
[OK] Maximum possible memory usage: 1.3G (2% of installed RAM)
[OK] Slow queries: 0% (11/74M)
[OK] Highest usage of available connections: 5% (17/300)
[OK] Key buffer size / total MyISAM indexes: 32.0M/684.8M
[OK] Key buffer hit rate: 100.0% (84B cached / 2M reads)
[OK] Query cache efficiency: 33.8% (17M cached / 52M selects)
[!!] Query cache prunes per day: 40629
[OK] Sorts requiring temporary tables: 0% (106 temp sorts / 1M sorts)
[!!] Joins performed without indexes: 399677
[!!] Temporary tables created on disk: 27% (2M on disk / 7M total)
[OK] Thread cache hit rate: 99% (401 created / 11M connections)
[!!] Table cache hit rate: 0% (400 open / 470K opened)
[OK] Open file limit used: 40% (605/1K)
[OK] Table locks acquired immediately: 99% (57M immediate / 57M locks)
[OK] InnoDB buffer pool / data size: 128.0M/20.6M
[OK] InnoDB log waits: 0
-------- Recommendations -----------------------------------------------------
General recommendations:
Run OPTIMIZE TABLE to defragment tables for better performance
Adjust your join queries to always utilize indexes
When making adjustments, make tmp_table_size/max_heap_table_size equal
Reduce your SELECT DISTINCT queries without LIMIT clauses
Increase table_open_cache gradually to avoid file descriptor limits
Read this before increasing table_open_cache over 64: bit.ly/1mi7c4C
Variables to adjust:
query_cache_size (> 64M)
join_buffer_size (> 1.0M, or always use indexes with joins)
tmp_table_size (> 64M)
max_heap_table_size (> 64M)
table_open_cache (> 400)

Выставил рекомендуемые параметры - особо разницы не почувствовал. Что еще можно предпринять для ускорения загрузки страниц?
  • Вопрос задан
  • 1167 просмотров
Пригласить эксперта
Ответы на вопрос 1
e-antonov
@e-antonov
вот хорошая статья по настройкам Mysql habrahabr.ru/post/108418
mysqltuner всего лишь один из инструментов и его рекомендации не окончательные, однако определенная польза есть.
следует поэкспериментировать с параметрами, указаными в статье, обратив внимание на то что существует определенный баланс, переходя который при увеличении параметров mysql будет становиться не только лучше, но и хуже.
а в целом база у вас небольшая, возможно стоит включить лог медленных запросов, посмотреть что там у вас за медленные запросы, подумать, можно ли как-то переписать запросы в сторону увеличения быстродействия.
так же можно посмотреть в сторону расстановки необходимых индексов, часто это сильно помогает. ruhighload.com/post/%D0%A0%D0%B0%D0%B1%D0%BE%D1%82... инфа по индексал
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы