Оптимизация работы с MySQL

123 4
edogs software
На сайте с 15.12.2005
Offline
775
#11
Xylitol:
А разве индексы можно произвольно тыкать?

В смысле произвольно?

Смотрите slow query лог - лог медленных запросов mysql, со специалистом смотрите, есть хороший шанс, что по запросам будет понятно какой конкретно индекс (или несколько) добавить для решения проблемы.

Xylitol:

Мне кажется, что все же как-то можно более эффективно использовать текущее железо.
Вот my.cnf

А таблицы myisam или innodb?

Если myisam, то

как минимум это раскомментировать

#table_open_cache = 2048

#table_cache = 2048

Остальные значения относящиеся к myisam увеличить раза в 4, кроме этих

max_allowed_packet = 32M

myisam_sort_buffer_size = 64M

query_cache_limit = 64M

Вот эти

tmp_table_size=8G

max_heap_table_size=8G

query_cache_size = 4096M

уменьшить до 512M

Но это ОЧЕНЬ грубо и скорее всего не сработает как положено, т.к. не зная текущую ситуацию в деталях невозможно дать хороший совет.

p.s.: А вообще найдите спеца по БД. Советами на форуме не зная внутренней ситуации помочь нереально. А пара индексов и правильный тюнинг my.cnf могут спасти ситуацию.

Разработка крупных и средних проектов. Можно с криптой. Разумные цены. Хорошее качество. Адекватный подход. Продаем lenovo legion в спб, дешевле магазинов, новые, запечатанные. Есть разные. skype: edogssoft
LEOnidUKG
На сайте с 25.11.2006
Offline
1723
#12
Xylitol:
Я так понимаю, что это можно сделать из phpmyadmin ?

Да, там есть перевод в опциях таблицы. Но это может занять некоторое время, поэтому будьте к этому готовы.

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/
edogs software
На сайте с 15.12.2005
Offline
775
#13
LEOnidUKG:
Лучше всё на innodb переведите.

Это спорный вопрос. Попробовать стоит, но затыки могут стать сильнее.

LEOnidUKG
На сайте с 25.11.2006
Offline
1723
#14
Смотрите slow query лог

Можно ещё смотреть просто тупо текущие запросы, они могут просто висеть или можно выловить, что вообще происходит и какого вида запросы.

---------- Добавлено 30.12.2016 в 23:53 ----------

edogs:
Это спорный вопрос. Попробовать стоит, но затыки могут стать сильнее.

Не знаю. Я давно уже отказался от myisam в пользу innodb никаких затупов не ощущаю ни на одном проекте. А вот рост производительности заметный.

---------- Добавлено 31.12.2016 в 00:07 ----------

Также если посмотреть на:

log-error=/var/log/mariadb/mariadb.log

То у ТС мария стоит, а там уж точно никто не занимается устаревшим myisam

https://mariadb.com/kb/en/mariadb/myisam-storage-engine/

MyISAM was the default storage engine from MySQL 3.23 until it was replaced by InnoDB in MariaDB and MySQL 5.5. It's a light, non-transactional engine with great performance, is easy to copy between systems and has a small data footprint.
X
На сайте с 17.08.2012
Offline
47
#15

То есть, получается, что иннодб производительнее?

edogs software
На сайте с 15.12.2005
Offline
775
#16
LEOnidUKG:
Не знаю. Я давно уже отказался от myisam в пользу innodb никаких затупов не ощущаю ни на одном проекте. А вот рост производительности заметный.

От задач зависит. Где-то myisam лучше, где-то innodb, если говорить о скорости. По функционалу innodb безусловно современнее, но и расплата за это есть.

А как можно говорить росте производительности если Вы давно отказались от myisam? Нельзя сравнивать с тем, чем не пользуешься.

LEOnidUKG:
То у ТС мария стоит, а там уж точно никто не занимается устаревшим myisam
https://mariadb.com/kb/en/mariadb/myisam-storage-engine/

Это с чего это вывод? Ну сменили дефолтный двиг с myisam на innodb и чего? В mysql между прочим тоже с 5.5 сменили (в той же цитате видно), но как раз в 5.6 и 5.7 изменения были весьма заметные, куча багфиксов и оптимизаций.

---------- Добавлено 31.12.2016 в 00:39 ----------

Xylitol:
То есть, получается, что иннодб производительнее?
Зависит от задач.
LEOnidUKG
На сайте с 25.11.2006
Offline
1723
#17
edogs:
От задач зависит.

Где-то БД и вовсе не нужна. :)

Но мы тут говорим о работе с 50 ГБ данных, которые туда сюда качают. И как всегда мы тут копаемся в теориях, а если, а вдруг. 🍿

G-and-Y
На сайте с 29.06.2013
Offline
156
#18

ТС, ссд даст ощутимый прирост, ну и оперативки побольше.

https://www.online.net/en/dedicated-server#start

Intel® Xeon® E3 1245 v5

4C / 8T @3.5 Ghz 64 GB DDR4 3 × 500 GB SSD

€54.99

самое оно!

Абузо-устойчивые впс в Нидерландах от 5$/мес (https://cp.inferno.name/aff.php?aff=2991)
Vin_cent
На сайте с 22.01.2010
Offline
165
#19

1. Сделать раздел mysql tmpdir на ram диске (tmpdir=/mnt/ramdisk):

mkdir -p /mnt/ramdisk

chown mysql:mysql /mnt/ramdisk

mount -t tmpfs -o size=8024M tmpfs /mnt/ramdisk

2. Если запросы короткие и простые, то можно попробовать вообще отключить mysql кэш: query_cache_type=0

3. Если таблицы myisam используются в основном для чтения, то в innodb переводить их нет смысла.

И покажи вывод mysqltuner.pl

dag
На сайте с 10.02.2007
Offline
214
dag
#20

Тут правильно выше написали - бессмысленно обсуждать сферического коня в вакууме через форум.

Пример - только вчера утром на планерке обсуждали, как на дурака вложенные транзакции вешают сервак в усмерть. Потом еще один товарищь додумался кешировать данные в локальной коллекции, и все было хорошо, пока она не разрослась...

Это я к тому, что может быть что угодно. Удивительно другое - 50 гиг данных это уже что то более менее серьезное.

Как оно вообще появилось на свет без единого специалиста?

123 4

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий