[squid-users] [ext] Re: Absolute upper limit for filedescriptors in squid-6?

Amos Jeffries squid3 at treenet.co.nz
Wed Jan 26 00:06:52 UTC 2022


On 26/01/22 12:14, André Bolinhas wrote:
> Hi
> I have a question regarding with this topic to, I need about 2M
> filedescriptors so my squid is compiled with --enable-poll and
> --enable-epoll.
> In this case which mechanism Squid will use poll or epoll?


Should be epoll. You can verify with the cachemgr API:

  squidclient mgr:menu | grep comm_incoming

poll(2) has a "comm_poll_incoming" report, and epoll(2) a matching 
"comm_epoll_incoming" report. If you have neither, then your Squid is 
using one of the other modules.


> Also, for better performance for large FD, which mechanism did you recommend
> poll, epoll or kqueue?


Recommended preference order for those is:  epoll, kqueue, poll.

FWIW; with features like this where they are already well-known and 
tested for years the build process and/or squid.conf defaults have 
usually been designed to take care of these decisions automatically.

In this case, at most, you should only need to use ./configure options. 
Squid follow the auto-tools best practice:

  "--enable-foo" *requires* that foo dependencies etc all exist and be 
usable, else configure halts with an error.

  "--disable-foo" forces foo to be omitted from the build.

  not specifying anything will attempt to enable foo as best-effort. But 
with problems it will only log an error and leave 'foo' out of the build.


Cheers
Amos


More information about the squid-users mailing list