From: Anatoly <mator@localhost.ru>
To: Natasha <natasha@localhost.ru>
Subject: Re: www.localhost.ru
[-- The following data is signed --]
Здравствуйте.
On Thu, Sep 14, 2006 at 11:17:10AM +0400, Natasha wrote:
| Анатолий, вобщем бог с ними со скриптами. Это просто очередной пример
| некорректной работы сервера.
|
| Периодически страницы сайта грузятся очень медленно, а иногда, вот как
| несколько минут назад, выводится сообщение
|
| Can't connect to SQL server
|
| Видимо это происходит в моменты, когда на сайте много посетителей. Сервер
| просто не справляется с нагрузкой.
верно, сервер просто оказался неспособен выдержать такую нагрузку.
Ограничения по количеству соединений (которые как раз приводили к ошибке
can't connect to sql server) с сервером сняли (то есть выставили равным
400).
уже при 200 коннектах на http сервер, запускается порядка 150 mysqld
процессов (для обработки этих самых http коннектов, создаваемых через php)
, в результате чего у сервера физически заканчивается свободная память, он
начинает свопится и все ужасно медленно работает, а после того как и
виртуальная закончится, то будет просто новая ошибка - connection timeout.
что видно из вывода нижеследующих комманд:
srv# ps ax | grep -c mysqld
267
srv# ps ax | grep -c httpd
256
srv# top -bin 1
last pid: 81766; load averages: 3.99, 22.84, 21.78 up 169+22:17:24
15:06:40 569 processes: 1 running, 333 sleeping, 235 waiting
Mem: 708M Active, 67M Inact, 187M Wired, 32M Cache, 111M Buf, 1660K Free
Swap: 1024M Total, 702M Used, 322M Free, 68% Inuse
PID USERNAME THR PRI NICE SIZE RES STATE C TIME WCPU COMMAND
81474 wwwuser 1 96 0 16820K 8128K select 0 0:00 0.10% httpd
Основная рекомендация пока только одна, добавлять серверу прежде всего оперативной
памяти. Потому что от 'ошибки соединения с sql сервером' мы избавились, но
зато теперь будет новая, таймаут соединения, из-за того что у сервера
кончилась память (настоящая и виртуальная).
|
| Прошу прочесть ниже комментарии от программиста.
| From: Krutoi Programmer [mailto:programmer@localhost.ru]
| To: Natasha <natasha@localhost.ru>
| Subject: Re: localhost.ru скрипты и логи
|
| на 95% я уверен, что все проблемы в настройках сервера:
|
|
| 1. Зачем на веб-сервере используется файл(или раздел)
| подкачки? На мой взгляд нужно отключить его.
|
| 2. Почему процессы myslqd занимают в памяти по 480Мб? Надо
| уменьшить занимаемую этими процессами память, либо уменьшить число процессов
| mysqld.
ответ программисту:
1) 3 курс технического института по предмету "операционные системы", что
такое файл подкачки, что такое своп, что такое paging и как это
используется операционной системой. Вкратце, если отключить swap раздел, то
уже при 100 коннектах к серверу у него закончится оперативная память, и
удаленный пользователь увидит в браузере сообщение о таймайте соединения с
сервером.
2) странный вопрос, потому что так работают программы, по типу "вопрос, как
урезать windows xp для установки на i486 с 32Mb оперативной памяти."
Уменьшить обьем занимаемой памяти mysql сервером невозможно, потому что _так_ _работает_ _sql_ _сервер_ . Если уменьшить количество коннектов для mysql сервера, то
вы будете наблюдать картину "can't connect to sql server" снова.
ps: сервер apache+php+mysql+1Gb памяти == зло. (/etc/my.cnf примерно как my-medium.cnf из поставки mysql-4.1).
Похожие темы
- Форум freeradius mysql в chroot (2015)
- Форум Проблемы с MySQL (2007)
- Форум Большая загрузка CPU (2010)
- Форум Периодическая проблема с подключением к mysql (2012)
- Форум Проблема с переустановкой mysql-server LAMP (2017)
- Форум apache+mysqld грузят систему (2006)
- Форум не заводится MySQL (MariaDB) Ubuntu 12.04 (2014)
- Форум [postfix] опять (2010)
- Форум Программирующая камхора или шлюха-программист (2015)
- Галерея Программирую робота (2014)