Making non-concurrent helpers concurrent
Helper concurrency is a relatively new concept in Squid and is supported only within Squid versions 3.2 or later. However, there is a contributed script called helper-mux
that can convert our old style non-concurrent helper programs into a concurrent helper, thus improving the overall helper performance by a significant amount.
The purpose of the helper-mux
program is to share some of the load that Squid has to handle while dealing with relatively slower helper programs. The helper multiplexer program acts as a medium through which Squid and actual helper programs exchange messages. So, the helper multiplexer's interface with Squid is totally concurrent and while talking to the actual helper program, it uses a non-concurrent interface.
The helper-mux
program can start helper programs on demand and can handle up to 1000 helpers per instance. The helper-mux
program doesn't know anything about the messages being exchanged between Squid and the actual helper...