-
Notifications
You must be signed in to change notification settings - Fork 84
Open
Description
Hi,
I just began a simple cowboy rest service using the pooler configuration defined in the readme (basically setting up the basic config for the pool and adding it to the project as a "included_applications"). The rest service only consist of a simple endpoint where I query a database:
hello_to_json(Req, State) ->
case pooler:take_member(pg_db, {1, min}) of
error_no_members ->
Body = jsone:encode(#{error => <<"could not get a database connection">>}),
io:fwrite("Error!!~n"),
{Body, Req, State};
Conn ->
{ok, _, [{Id, Name, Address, _, City}]} = epgsql:squery(Conn, "select * from person"),
Body =
jsone:encode(#{id => Id,
name => Name,
address => Address,
city => City}),
{Body, Req, State}
end.My understanding is that, with the current approach, the process should wait for a minute before returning a "error_no_members". That's the case when I try it in the shell; however, when I load test the service with wrk (wrk -t4 -c100 -d30s http://127.0.0.1:3000/), the service begins to get "error_no_members" a lot of times even though the waiting time is longer than the load test is running.
Thanks in advance!
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels