Page 1 of 4

Не справляется MySQL

Posted: Tue Jan 08, 2013 4:00 pm
by Bjakin
Сайт вновь стал переодически падать из-за проблем с MySQL. Пиксовая база на 600к где-то. Оптимизация выполнена по документации.
Получаю ошибку:
Warning: mysql_connect() [function.mysql-connect]: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) in /usr/home/bjakin/ero-love.com/www/scj/includes/db_modules/mysql.php on line 11
Can not connect to database server.

Админы пишут Нагружен MySQL в следствии долго выполняющихся запросов к БД.

Re: Не справляется MySQL

Posted: Tue Jan 08, 2013 4:06 pm
by admin
Как обычно убедиться что все апдейты
урезать варианты страниц
урезать базу
проверить что действитьельно мускл тюнен по доке, а не "мне админ сказал что тюнили"
увеличить производительность дисков

Re: Не справляется MySQL

Posted: Tue Jan 08, 2013 4:31 pm
by Bjakin
Что значит урезать варианты страниц?

Re: Не справляется MySQL

Posted: Tue Jan 08, 2013 4:36 pm
by admin
например есть сайт 500к галер (500к страниц)
средняя галера в 5 категориях
итого грубо у нас 2500к записей по категориям
например у нас по 100 тумб на страницу - значит 250к страниц с листингами тумб

если есть 3 сортиновки - это значит 250к*3

следовательно можно урезать навигацию, делать например 100 старниц максимум
можно убарть ненужные сортировки

Re: Не справляется MySQL

Posted: Wed Jan 09, 2013 12:21 am
by swim
вопрос к лемону : а есть варианты такого размера сайт без урезания оставить? хз, мускул на ССД перенести говорят можно, может железо посильнее?

Re: Не справляется MySQL

Posted: Wed Jan 09, 2013 3:27 am
by admin
да, можно на ssd винт например мускл перенести
надо смотреть на чем именно нагрузка и соответственно смотреть варианты увеличия производительности этой части

Re: Не справляется MySQL

Posted: Wed Jan 09, 2013 3:44 pm
by cjtrader
Вопрос чисто из праздного любопытства, да и набудущее дмаю мне пригодится. Что лучше(производительней/быстрее), держать кэши, мускуль в рамдиске или на ссд?

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

Re: Не справляется MySQL

Posted: Wed Jan 09, 2013 3:57 pm
by admin
Вопрос чисто из праздного любопытства, да и набудущее дмаю мне пригодится. Что лучше(производительней/быстрее), держать кэши, мускуль в рамдиске или на ссд?
мускл на рамдиске технически не может быть - ему надо куда-то сохранять данные физически.
inno, когда вся база взалит в память, - это фактически и есть нужное. Те вся база в памяти. выборки в памяти, но изменения пишутся на диск. Хотя есть одно но - при сложных выборках из базы мускл создает временные таблицы - вот они должны быть в памяти (рамдиск, это есть в доке по тюнингу вроде). Но учитывая что надо сохранять статистику тумб - да ssd даст прирост однозначно.

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


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

Да, основных перконы xtradb (форк innodb) и maria - у них вариант продвинутого myisam движка.
Оба варианта считаю стоят внимания. Но тут часто проблема сделать 5тиминтные изменения в том что уже есть на серваке, сложно надеяться что кто-то будет ставить перкону например. Хотя опять же проблем никаких, поставить другой инсталл и все, для скриптов полностью прозрачно все и ничего менять не надо.

Re: Не справляется MySQL

Posted: Wed Jan 09, 2013 6:16 pm
by cjtrader
гуд, спасибо за инфу.

Re: Не справляется MySQL

Posted: Thu Jan 17, 2013 1:59 pm
by Bjakin
MySQL снова не справляется и сайт падает. Категорий у меня нет. Сортировок тоже. У меня только спонсоры и галеры. 48031 галер и 664677 тумб в базе.

Админы серверва пишут:
к базе данных этого домена скапливается множество соединений, потому что запросы выполняются достаточно долго.
может быть имеет смысл почистить базу от ненужных данных?

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

Что можно сделать? Удалять из базы галеры не хочу. Страницы проиндексированы, на них идет SEO трафф.