Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




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, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
30848



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |