Re: Erlang (epgsql) + PostgreSQL, как организовать Connection Pooling?

801 views
Skip to first unread message

Alexander Alexeev

unread,
Mar 30, 2013, 10:36:53 AM3/30/13
to erlang-...@googlegroups.com
On Wed, 27 Mar 2013 05:59:41 -0700 (PDT)
Сергей Вихирев <tru...@gmail.com> wrote:

> Здравствуйте, хочу использовать связку Erlang (epgsql) + PostgreSQL,
> в официальном драйвере нет ничего связанного с пулом соединений.
> Интересно как правильно организовать работу epgsql при больших
> нагрузках.
>
> Нашел кое какую инфу
> https://groups.google.com/d/msg/erlang-russian/BwalKaca-C4/35zht8JHYo0J
> Но так и не понял как лучше организовывать пул?
>
> 1. Стандартный epgsql + pgBouncer ?
> 2. Асинхронный форк epgsql - https://github.com/mabrek/epgsql
> 3. Пул соединений https://github.com/josephwecker/epgsql_pool
>
> Что посоветуете? Чем сами пользуетесь? :)
>

Кажется, коллега в своем подпроекте совсем недавно успешно заюзал
epgsql_pool.

--
Best regards,
Alexander Alexeev
http://eax.me/

Sergey Prokhorov

unread,
Mar 30, 2013, 5:03:39 PM3/30/13
to erlang-...@googlegroups.com
Я свой опыт описал тут https://groups.google.com/d/topic/erlang-russian/DXv5yCwvRz0/discussion (советую прочитать весь тред).
Т.е. poolboy. Но есть странности. Зато в данный момент оно выдаёт до 110 транзакций BEGIN; INSERT 1 row; UPDATE by id; COMMIT в секунду на пуле из 18 + 18 owerflow подключений.

Асинхронный драйвер не совсем про это - шарить один коннекшн между процессами можно только если полностью осознаёшь что хочешь и как это работает. В основном, если хочешь заслать в БД пачку запросов за один раз.

среда, 27 марта 2013 г., 16:59:41 UTC+4 пользователь Сергей Вихирев написал:
Reply all
Reply to author
Forward
0 new messages