Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
27.12.2001, 09:52
|
|||
---|---|---|---|
|
|||
Aborted connection |
|||
#18+
сть прога( пхп), которая выполняет большое количество транзакций к мускулю. Переодически, обычно после того как программа проработала часа 1-2, происходит разрыв соединения с бд. При этом в логах появляются сделдующие ошибки: Aborted connection 4115 to db: .... (Got timeout reading communication packets) Я выяснил, что данный ерор появляется после того как прога, в течении указаного в .my.cfn таймаута, не делает запросов. Выставил на виртуальный таймаут: set-variable = wait_timeout=28800 . Но все равно ерор возникает. В действительности программа на больших задачах может не обращаться к бд в течении долго времени. Есть одно решение, можно конектить к БД непосредственно перед запросами, а потом отконективаться. Но тогда производительность на маленьких задачах падает. Еще возникает следующий, непонятный, ерор, описание которого я не нашел: Aborted connection : ... (Got an error reading communication packets) Может кто сталкивался?! ... |
|||
:
Нравится:
Не нравится:
|
|||
|
14.07.2003, 09:27
|
|||
---|---|---|---|
|
|||
Aborted connection |
|||
#18+
Подобная ситуация. Бегает MySQL 3.23.52 на FreeBSD 4.7. Выполняет порядка 120000 запросов в час, бОльшая часть - update. Загрузка CPU под mysqld - 3-20% (нагрузка неравномерная). Проблема в том, что регулярно, в среднем 2-3 раза в час (а фактически - по 5-10 раз подряд) происходят "Aborted connection" (в среднем в час ~1000 соединений). А именно - в .err пишет "Got an error reading communication packets" (или writing, но немного пореже). Timeout'ы тоже бывают, но совсем редко (пару раз в сутки). Соединения идут с localhost'а, через перловый DBI: выглядит это так, как будто скрипт молча отваливается на execute; DBI-шный trace ничего не дает (затыкается на execute). С чем это может быть связано, куда копать - MySQL, железо, еще что-то? Для системы эти ошибки критичны (варианты типа "выкинь mysql" не предлагать). ... |
|||
:
Нравится:
Не нравится:
|
|||
|
14.07.2003, 11:09
|
|||
---|---|---|---|
Aborted connection |
|||
#18+
В mysql api есть такая функция - ping (посмотрите, наверняка в php есть какая нибудь обертка вокруг нее). Если есть соединение - ping ничего не делает. Если соединение было разорвано по любым причинам - ping восстанавливает его. Это было придумано как раз для неравномерной обработки данных. То есть перед своими запрсами делаете ping. Если запросы идут один за другим - ничего не происходит. Если последний запрос был уже давно, и сервер отавалил клиента по таймауту - то соединение восстановится перед запросом. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
14.07.2003, 14:16
|
|||
---|---|---|---|
|
|||
Aborted connection |
|||
#18+
Для timeout при reading/writing communication packets это может помочь, но вот из-за чего возникают и как бороться с error reading/writing communication packets? mysql живет на FreeBSD, соединения идут с локалхоста, так что из всего, что описано в http://www.mysql.com/doc/en/Communication_errors.html , разве что "Some problem with the thread library that causes interrupts on reads" можно притянуть к этому случаю (но что бы это вообще могло значить)? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=47&mobile=1&tid=1855907]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
55ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
others: | 315ms |
total: | 458ms |
0 / 0 |