|
MySQL.RU - Webboard
Вернуться
Оптимизация FreeBSD и MySQL (Артем) 27/01/2007 - 15:56:41
Re: Оптимизация FreeBSD и MySQL (Андрей Миронов) 27/01/2007 - 15:58:40
Re: Оптимизация FreeBSD и MySQL (Pentarh Udi) 27/02/2007 - 18:22:32
> Original message text:
> From: Артем - 27/01/2007 - 15:56:41
> Subject:Оптимизация FreeBSD и MySQL
> -----------------
> Оптимизация FreeBSD и MySQL для работы в пиковых нагрузках.
>
> Господа, подскажите, какими параметрами надо оперировать, чтобы FreeBSD полегчало при высоких загрузках.
>
> Hаблюдаю проблему - на сервере вертится apache+perl+mysql.
> К серверу в пиковые часы приходится очень много запросов, по большей части на перловые скрипты, которые и создают большую загрузку. Перловые скрипты обращаются к mysql через DBI.
>
> Иногда получается, что выдается:
> Mysql->connect() failed: Can't connect to local MySQL server through socket
> Mysql->'/tmp/mysql.sock' (61) at w.cgi line 60
>
> Видимо из-за таймаута на установку соединения. Запросы в эти моменты тормозят просто жутко - select * from table; из 2-х строк выдает ответ при загрузке около 30-40 через 3-6 секунд.
>
>
From: Андрей Миронов - 27/01/2007 - 15:58:40
Subject:Оптимизация FreeBSD и MySQL
-----------------
меры (не по порядку эффективности)
Ядро/система:
1. включить softupdates на партициях где живет mysql/apache (если не включены)
2. включить syncookies
3. увеличить kern.ipc.somaxconn
4. увеличить kern.ipc.nmbclusters
5. увеличить net.inet.tcp.sendspace, net.inet.tcp.recvspace
6. увеличить maxusers
7. Попробовать (?) поэксперментировать со всякими net.inet.tcp.keep* и
net.inet.tcp.*ack*
MySQL:
1. увеличить back_log, увеличить connect_timeout, увеличить max_connections
2. попробовать поизменять всякие разные *buffer_size* и *cache_size*
3. попробовать задать --delay-* параметры
5. попробовать собрать мускуль с linux-threads
Апач:
1. Уменьшить(убрать?) KeepAliveTimeout в конфиге апача.
2. сделать перловые скрипты в виде mod_perl
3. делать попытки коннекта в скриптах с увеличивающимся таймаутом в цикле...
Общие (и наверное самые лучшие рекомендации):
1. Поставить кеширующий/акселерирующий прокси (apache/mod_accel,
apache/mod_proxy, squid, etc... ) перед сервером с perl/mysql.
2. Вкомпилить в ядро accf_http (читать man accf_http(9), на сайте апача) и сказать апачу его использовать.
[Это сообщение - спам!]
Последние сообщения из форума
Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL,
версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
30848
|
|