как подсчитать количество connections к Постгресу?

sandyMan

Guest
как подсчитать количество connections к Постгресу?

Здравсвуйте!

Я занимаюсь созданием одного биологического проекта в вебе. Есть база данных по протеинам более 100G.

запросы дикие - приходится перелопачивать всю базу.

трафик не очень большой и всё нормально. но как за дело берутся краулеры Гугл или другого поисковика кричи караул! Они заходят по линкам на динамические страницы, открывают тысячи соединений к постгресу, и через некоторое время от просто затыкается. приходится убивать все процессы и порой делать рестарт системе.

хочу сделать некий счётчик открытых соединений.

Например, есть текстовый файл с цифрой 0 для начала. И если при каждом открытии коннекшена открывать этот файл и делать инкрементацию к этой цифре, а при каждом закрытии соединения, после pg_close(), снова открывать файл и уменьшать на еденицу значение.

При этом всякий раз перед открытием нового соединения проверяется это значение. Например, если открыто 500 соединений выдавать страницу, мол народ приходите позже.

Всё вроде просто, но может есть какая-то встроеная функция делающая это? Или что другое поумнее?
 

sandyMan

Guest
Originally posted by neko
robots.txt?
это не совсем то что нужно, я не хочу закрывать доступ поисковикам, я просто хочу защитить систему от падения - как только количество незакрытых соединений достигает определенного уровня, сайт не позволяет запускать другие запросы
 

neko

tеam neko
уменьши max_connections тогда просто и все

-~{}~ 16.12.04 06:43:

вообще если честно, это странно, что он падает -- такого быть недолжно
может свопа мало?
 

sandyMan

Guest
сегодня разговаривал с системщиками. выяснили в чём проблема. оказывается, sql сервер пишет в лог о каждом запросе к базе данных. И когда краулеры заходят то записей становится столько, что система падает. Хотя этот ответ мне тоже показался несколько странным, но обещали исправить.

так что спасибо за ответы.
пусть наши системщики думают что делать
 

neko

tеam neko
конечно пишет, этоже лог транзакций :)
падать от этого ничего не должно
 
Сверху