Search squid archive

Re: url_rewrite_concurrency singlethreaded redirector performance?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On tis, 2007-10-09 at 11:21 +0200, Sylvain Viart wrote:

> Would than mean we have some performance issue with singlethreaded 
> redirector?

When not using the concurrent mode Squid sends a single request at a
time to each helper, waiting for it to respond before sending the next
reques. This works fine for small loads, but when the load increases you
need very many helpers just to compensate for scheduling delays or Squid
will get quite upset even if the helper as such is very fast.

In the concurrent mode helper interface Squid batches up to the
concurrency level number of requests to the same helper, making the
communication squid<->helper much more efficient. This is actually
unrelated of if the helper as such is multithreaded or singlethreaded.

The decision on if a concurrent mode helper should be singlethreaded or
multithreaded depends on the processing done by the helper. If CPU
processing only then there is generally no benefits of going
multithreaded. But if the helper often needs to wait on external
resources such as DNS, databases etc then multithreading the helper may
be quite beneficial to the operation of the helper, the alternatie is to
use many helper instances.


Most existing helpers can easily be converted to the concurrent mode
interface to benefit from the batching. The requirements is
 * That the helper uses proper line-oriented reading of requests, making
sure that the next request is not forgotten if then are received at the
same time.
 * The format of request/responses is slightly different from the older
interface, adding a request identifier in front. This needs to be echoed
back with the answer.

Regards
Henrik

Attachment: signature.asc
Description: This is a digitally signed message part


[Index of Archives]     [Linux Audio Users]     [Samba]     [Big List of Linux Books]     [Linux USB]     [Yosemite News]

  Powered by Linux