castomi
@castomi
Серверный администратор - tickets.settin.ru

Таблица в MariaDB весит 321Мб, как заставить быстро работать?

CMS Simpla
вес таблиц
5a044334a6391814426387.png
musqltuner 1
5a044404c53a6827767298.png
musqltuner 2
5a04441f7acd0451932138.png

Интереснее услышать личный опыт. Всем спасибо за потраченное время.
  • Вопрос задан
  • 480 просмотров
Пригласить эксперта
Ответы на вопрос 1
VELIK505
@VELIK505
Руководитель департамента profitcentr.com
1. Вы mysqltuner запустили не дав проработать даже 24 часа бд. Лучше попозже его ещё раз глянуть.
2. Выполнить все его рекомендации.
3. Вес таблицы не особо большой. А сколько там строк?
4. Что именно беспокоит то? Медленные запросы отследите ведите slow log и error log mysql смотрите что туда будет падать. Оптимизируйте тяжелые запросы.
5. Можете поставить утилитку mytop и следить в режиме реального времени на плохие запросы. потом их оптимизировать.
6. Использовать индексы. Если используются пересмотреть правильно ли проиндексирована таблица.
7. По медленным запросам можно использовать explain.
8. Если таблица innodb то можно ускорить её работу отключением сброса данных на диск innodb_flush_log_at_trx_commit = 2. (но тут есть свои подводные камни загуглите).
9. Можно настроить перемещение временных файлов mysql не на диск а в tmpfs (дирректива tmpdir ) это ускорит немного совсем работу всего mysql сервера.
10. query cache - настройте. кто бы что не говорил он помогает. (но так же надо тестировать может в вашем случае будет лучше а может и нет)
11. key buffer size настройте в соответствии с ОЗУ
12. Если совсем много rps (да и в любом случае) крутаните ядро расширьте лимиты /etc/sysctl.conf /etc/security/limits.conf
13. Ну и конечно что итак понятно использовать хороший сервер многоядерный с ssd в raid-e.
14. Ну и конечно убедитесь что правильные типы полей используйте в таблице возможно можно ещё оптимизировать саму архитектуру таблицы. Тем самым при использовании правильных типов можно и вес снизить таблицы.
15. Возможно в таблице куче не нужных записей которые уже никогда не пригодятся и их надо чистить по крону раз в сутки допустим?
16. Ну и конечно для ускорения работы всего mysql сервера не писать bin log и general log.
17. Если табличка myisam то может сильно дефрагментируется? иногда можно и optimize table выполнять тогда.
18. Если совсем всё мощно и дохрена запросов к ней (хайлоад проект) то уже смотреть можно в сторону кластера/репликации.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы