ijunaidfarooq

ijunaidfarooq OP

In my gen server I am doing 2 requests, one is GET and one is POST.

When GenServer was only doing a GET request. in Phoenix Live Dashboard process, there was only one NimblePool.init/ but when I started doing 2 requests, one POST and one GET.

image
image2740×524 51.5 KB

It has inited 2 NimblePool.init/ . my question is, is this a right behaviour?

0
Post #11
NobbZ

NobbZ

Are both requests to the same host + port combination?

1
Post #12
ijunaidfarooq

ijunaidfarooq OP

nope.

different port and host.

0
Post #13
NobbZ

NobbZ

Then of course 2 pools are started. I already explained before the holidays in the slack that finch starts one pool per host/port combination. (There was also a 3rd key for the pool, but I do not remember it anymore)

3
Post #14
wojtekmach

wojtekmach

Hex Core Team

{scheme, host, port}

4
Post #15
ijunaidfarooq

ijunaidfarooq OP

Hi, in my phoenix live dashboard on sockets tab.

I have these stats

image
image922×1218 95.3 KB

when I click on the very first socket, as well as the owner PID. it shows this

image
image1340×1576 94.5 KB

So you see this as an expected behaviour?

0
Post #16
keathley

keathley

The inet_tcp pids are the tcp sockets that you’re sending http requests over. Based on the data, I’m guessing that those are tcp socket connections to your upstream storage api (since the “sent” is so high). The owner pid is the nimble_pool GenServer, which also makes sense. That process is the pool manager which hands out http connections to the callers.

All of that looks like what I’d expect. But, none of this really demonstrates what process is creating the excess binary memory.

1
Post #17
ijunaidfarooq

ijunaidfarooq OP

Okay Thank you.

0
Post #18
— All posts loaded —