|
|
|
pgBouncer. Высокая сетевая нагрузка.
|
|||
|---|---|---|---|
|
#18+
Добрый день! На днях pgbouncer отказался принимать подключения и отваливался по таймауту при подключении, до этого было больше 1000 клиентов на баунсере. В логах в четверг нашёл вот такое: 2015-07-23 10:51:28.350 972 ERROR accept() failed: Too many open files 2015-07-23 10:51:33.351 972 ERROR fill_remote_addr: getpeername(129) = Transport endpoint is not connected Я так понимаю нужно увеличить лимиты? Кто знает и делал такое, подскажите, как правильно и где настроить параметры под высокую сетевую нагрузку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2015, 17:10 |
|
||
|
pgBouncer. Высокая сетевая нагрузка.
|
|||
|---|---|---|---|
|
#18+
altron, Ну что же Вы ленивые такие то.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2015, 09:39 |
|
||
|
pgBouncer. Высокая сетевая нагрузка.
|
|||
|---|---|---|---|
|
#18+
Electric200, ulimit -n у нас показывает 99999, но ситуация не изменилась ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2015, 09:53 |
|
||
|
pgBouncer. Высокая сетевая нагрузка.
|
|||
|---|---|---|---|
|
#18+
altronElectric200, ulimit -n у нас показывает 99999, но ситуация не изменилась Посмотрите в лог pgbouncer с какими лимитами он реально запущен (он при старте это пишет). Далеко не факт что этот ulimit применяется при запуске pgbouncer системными средствами. Это скорее вопрос не про базу а про unix администрирование и этим не DBA а unix admin должен заниматься (а они обычно знают где и чего крутить на этот счет в данной конкретной операционной системе). -- Maxim Boguk www.postgresql-consulting.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2015, 10:01 |
|
||
|
pgBouncer. Высокая сетевая нагрузка.
|
|||
|---|---|---|---|
|
#18+
Maxim Boguk, LOG File descriptor limit: 1024 (H:4096), max_client_conn: 10000, max fds possible: 46790 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2015, 10:06 |
|
||
|
pgBouncer. Высокая сетевая нагрузка.
|
|||
|---|---|---|---|
|
#18+
altronMaxim Boguk, LOG File descriptor limit: 1024 (H:4096), max_client_conn: 10000, max fds possible: 46790 Ну вот... реальный лимит у вас 1024 (а никак не 99999 чтобы вы об этом не писали). -- Maxim Boguk www.postgresql-consulting.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2015, 10:40 |
|
||
|
pgBouncer. Высокая сетевая нагрузка.
|
|||
|---|---|---|---|
|
#18+
Maxim Boguk, Да все верно, в исходниках баунсера это значение дергается getrlimit(), но не понятно как оно подхватывает его.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2015, 10:43 |
|
||
|
pgBouncer. Высокая сетевая нагрузка.
|
|||
|---|---|---|---|
|
#18+
altronMaxim Boguk, Да все верно, в исходниках баунсера это значение дергается getrlimit(), но не понятно как оно подхватывает его.. Как я уже написал - это тонкости реализации stop/start скриптов для pgbouncer в конкретной версии линукса версии. Там нет единого ответа (т.е. мало того что там все отличается между скажем CentOS и Debian так еще и отличается в разных версиях этих самых CentOS и Debian). -- Maxim Boguk www.postgresql-consulting.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2015, 11:09 |
|
||
|
pgBouncer. Высокая сетевая нагрузка.
|
|||
|---|---|---|---|
|
#18+
Можно решить данную проблему, изменив после запуска процесса, его лимиты. #!/bin/sh ### BEGIN INIT INFO # Provides: pgbouncer # Required-Start: $local_fs $remote_fs $network $syslog $named # Required-Stop: $local_fs $remote_fs $network $syslog $named # Should-Start: postgresql # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: start pgbouncer # Description: pgbouncer is a connection pool server and replication # proxy for PostgreSQL. ### END INIT INFO PATH=/sbin:/bin:/usr/sbin:/usr/bin NAME=pgbouncer DAEMON=/usr/sbin/$NAME PIDDIR=/var/run/postgresql PIDFILE=$PIDDIR/$NAME.pid OPTS="-d /etc/pgbouncer/$NAME.ini" RUNASUSER="postgres" LIMIT="prlimit --pid $PID --nofile=65535:65535" # Include pgbouncer defaults if available if [ -f /etc/default/pgbouncer ] ; then . /etc/default/pgbouncer fi # Exit if we were uninstalled with the config still there test -x $DAEMON || exit 0 # Check if configuration exists test -f $CONF || exit 0 . /lib/lsb/init-functions SSD="start-stop-daemon --pidfile $PIDFILE --exec $DAEMON --quiet" case "$1" in start) # Check if we are still disabled in /etc/default/pgbouncer [ "${START:-}" = "0" ] && exit 0 log_daemon_msg "Starting PgBouncer" $NAME test -d $PIDDIR || install -d -o postgres -g postgres -m 2775 $PIDDIR $SSD --start --chuid $RUNASUSER --oknodo -- $OPTS 2> /dev/null sleep 1 PID=$(pidof pgbouncer) if [ $PID ] then prlimit --pid $PID --nofile=65535:65535 fi log_end_msg $? ;; stop) log_daemon_msg "Stopping PgBouncer" $NAME $SSD --stop --retry 30 --oknodo log_end_msg $? ;; reload | force-reload) log_daemon_msg "Reloading PgBouncer configuration" $NAME $SSD --stop --signal HUP --oknodo log_end_msg $? ;; restart) # we would use "$SSD --status" here if it were available in squeeze $SSD --stop --signal 0 if [ $? -eq 0 ] ; then OLDPID=$(cat $PIDFILE) log_daemon_msg "Invoking PgBouncer restart" $NAME su -c "$DAEMON -R $OPTS 2> /dev/null" - $RUNASUSER if [ $? -ne 0 ]; then log_end_msg 1 log_warning_msg "could not contact running instance" log_warning_msg "(If you changed the port number, run \"stop\" and \"start\" separately.)" exit 1 fi # sleep until the process has changed PID for t in 0.1 0.2 0.2 0.5 1.0 1.0 2.0; do # 5s in total NEWPID=$(cat $PIDFILE 2>/dev/null) [ "$NEWPID" ] && [ "$NEWPID" != "$OLDPID" ] && break sleep $t done $SSD --stop --signal 0 log_end_msg $? else $0 start fi ;; status) status_of_proc -p $PIDFILE $DAEMON $NAME && exit 0 || exit $? ;; *) echo "Usage: /etc/init.d/$NAME {start|stop|reload|force-reload|restart|status}" exit 1 ;; esac ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2015, 09:24 |
|
||
|
|

start [/forum/topic.php?fid=53&msg=39016176&tid=1997858]: |
0ms |
get settings: |
5ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
21ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
40ms |
get tp. blocked users: |
1ms |
| others: | 207ms |
| total: | 302ms |

| 0 / 0 |
