powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / куча idle процессов
6 сообщений из 6, страница 1 из 1
куча idle процессов
    #32304296
Руслан41
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, господа (админам БД особенно :-)))
Такая штука в процессах висит куча (примерно 20) процессов в состоянии idle и один только SELECT (или UPDATE) при этом постоянно есть такие httpd соединения которые висят до 25 минут и пользуют 20-30 процентов ЦПУ.... пользоветели же постоянно получают зависший эксплорер...либо страницы на которых должен отрабатываться доступ к базе данных грузятся очень долго
...
Рейтинг: 0 / 0
куча idle процессов
    #32304742
Shweik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Каждый процесс - это скорее всего клиентское соединение -
и похоже что проблема в php скрипте или cgi - ты ведб даже не намекнул
что используешь в качестве клиента к PG и причем тут IE :-)
Вот пример тяжело нагруженной машины 8) (
Время отклик для операторов сидящего в 10MБ локалке равен в среднем 3 сек.
В следующем списке операторские форки это только PID 5952 и 3017. Остальные 3 - ядро постгреса - они висят в памяти постоянно 8)
PID USERNAME PRI NICE SIZE RES STATE TIME WCPU CPU COMMAND
5952 postgres 2 0 7160K 3252K sbwait 4:15 8.74% 8.74% postgres
241 postgres 2 0 6344K 0K select 0:13 0.00% 0.00% <postgres>
232 postgres 2 0 6300K 0K select 0:12 0.00% 0.00% <postgres>
240 postgres 2 0 7288K 0K select 0:02 0.00% 0.00% <postgres>
3017 postgres 2 0 7100K 0K sbwait 0:01 0.00% 0.00% <postgres>
Точнее опиши свою ситуацию.
...
Рейтинг: 0 / 0
куча idle процессов
    #32305018
Руслан41
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Короче ситуация такая. Есть достаточно мощный сервер на котором висят порядка 8 сайтов (www.site_01.ru ... www.site_08.ru) к двум из них в день порядка 500 уникальных обращений в день и 50% из этих обращений сопровождаются обращением в базу - остальные берут инфу из файлов. в день отрабатывают несколько роботов - в среднем отработка занимает 20 минут (опять же к БД). в последнее время наблюдаются нехилые тормоза по сравнению с прежними временами. в нетстате постоянно висят порядка 80 соединений такого типа :
tcp 0 0 127.0.0.1:42569 127.0.0.1:5432 TIME_WAIT -
tcp 0 0 127.0.0.1:42568 127.0.0.1:5432 TIME_WAIT -
tcp 0 0 127.0.0.1:42575 127.0.0.1:5432 TIME_WAIT -
tcp 0 0 127.0.0.1:42574 127.0.0.1:5432 TIME_WAIT -
tcp 0 0 127.0.0.1:42573 127.0.0.1:5432 TIME_WAIT -
tcp 0 0 127.0.0.1:42572 127.0.0.1:5432 TIME_WAIT -
tcp 0 0 127.0.0.1:42579 127.0.0.1:5432 TIME_WAIT -
tcp 0 0 127.0.0.1:42578 127.0.0.1:5432 TIME_WAIT -
tcp 0 0 127.0.0.1:42576 127.0.0.1:25 TIME_WAIT -
tcp 0 0 212.164.71.33:80 216.39.48.12:49942 TIME_WAIT -

5432 - порт БД
есть еще такие сообщения
[24-Oct-2003 16:50:13] PHP Warning: Unable to connect to PostgreSQL server: FATAL: Non-superuser connection limit exceeded
в логах ПХП error
и еще такое
[24-Oct-2003 22:17:43] PHP Fatal error: Maximum execution time of 900 seconds exceeded in /home/SOME_SCRIPT.SOME_EXTENTION
вот ....
если чего-то еще не ясно...прошу сообщите
Такое подозрение ч тодело либо в апаче либо в постгресе. дыра и ли типа того
...
Рейтинг: 0 / 0
куча idle процессов
    #32305183
Shweik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наверняка знатоки и гуру будут много смеяться... и всеже. :)
Глубоко IMHO я считаю :
1) для баз предназначенных для ползователя www/apache/php/nobodywww
99% запросов которых составляют SELCT-ы можно смело отрубать fsync.
Это дает 1.5-2 выигрыш по скорости. При этом при отключении питания
или падении ОС во время транзакции с UPDATE/DELTE/INSERT можно потерять кой чего. Но я сомневаюсь что сервера у тебя падают очень часто
а критичность данных на сайте такова что от WAL-лога нельзя отказаться.
. 2) Если твои регулярно херишь _в_с_е данные в таблицах (ну разве что окромя справочников) а потом вставляешь здоровенные паки новых данных - то рекомендую после этого делать VACUUM FULL а затем INDEX REBUILD
Хотя если нет времени на VACUUM - в качестве временной меры сойдет и
DROP/CREATE для главных таблиц.
Стоит добавить их в periodic или crontab.
Это должно сдержать нарастание времени отклика запросов после масовых INSERT/DELETE. да и планировщик меньше будет тупить.
3) Пересмотри чем занимается php -скрипт или что-там-у-тебя запускает
апач. Довольно простыми действиями (я постил картинки в базу upload-ом)
можно забить произвольную машину до загрузки 2.0 8))
4) Первая Вырезка из лога - это напоминание что в конфиге прописано конечное
число одновременных подключений. По умолчанию их 32. Определаются
в postgresql.conf и (точно не помню как) при запуске pg_ctl
5) Вторая вырезка это понятное возмущение ПХП недождавшегося отклика
от сервера. Мдас хотелось бы хоть одним глазком глянуть на запрос
натворивший такое. Это случайно не декартово произветдение списков
IP-шников доменов *.org *.com и *.ru?? 8-) Припоминаю как один заказчик
попросил забухать данные для моделирования нагрева листового рулона
в dbf-ник и удивился когда на счет по 100000 узлов потребовалось около 4 часов (правда это было i286) 8))
6) Прошерсти разделы доки администратора по тюнингу - там про многое описано куда подробнее. 8)
7) Если подозрения о какой-то дыре стоит проверив посмотрев баг-репорты по установленным у тебя версиям apache/posmaster/modphp!
Ведь вообще непонятно что утебя за ОС и какие версии/билды постгреса апача и пхп.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
куча idle процессов
    #33570138
Фотография ГАГН 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а есть ли возможность в постгресе ограничивать время выполнения
пользовательского запроса и % загрузки CPU одним процессом?
...
Рейтинг: 0 / 0
куча idle процессов
    #33570402
фффф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ГАГН 2а есть ли возможность в постгресе ограничивать время выполнения
пользовательского запроса и % загрузки CPU одним процессом?
Время - да. CPU% - нет. Приоритет можно сменить средствами ОС (renice), но наверное это придется делать или для postmaster'a в целом, или периодически для всех новых бэкэндов (говорю теоретически - такой надобности не возникало).
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / куча idle процессов
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]