The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Оптимизация FreeBSD и MySQL для работы в пиковых нагрузках (freebsd mysql tune optimization kernel load_average trouble)


<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>
Ключевые слова: freebsd, mysql, tune, optimization, kernel, load_average, trouble,  (найти похожие документы)
Date: Sun, 05 Jan 2003 18:17:51 +0500 From: Oleg Koreshkov <okoreshkov@salut.ru> Newsgroups: ftn.ru.unix.bsd Subject: Оптимизация 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 секунд. меры (не по порядку эффективности) Ядро/система: 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), на сайте апача и в гугле) и сказать апачу его использовать.

<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>

 Добавить комментарий
Имя:
E-Mail:
Заголовок:
Текст:




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру