>>When I set icp_query_timeout to 1000 (ms), the TIMEOUT_DIRECT fetches
>>virtually disappeared and the direct fetches dropped back to around 30%
>>(In fact a value of 250ms gave much the same result.)
>>
>>It seems to me that something must be wrong with the automatic timeout
>>calculation for it to consistently underestimate so badly.
>
>The algorithm is to double the average of your peers ICP RTT values.
>What does
>
>       client mgr:server_list | grep RTT
>
>look like?

As an experiment I turned off the icp_query_timeout setting and ran
this every 2 seconds for several minutes:
        client -p 80 mgr:server_list | egrep '^(Sibling|Parent|AVG RTT)'

Typical output is:
        Parent     : proxy1.questnet.net.au/80/3130
        AVG RTT    : 4 msec
        Parent     : proxy2.questnet.net.au/80/3130
        AVG RTT    : 3 msec
        Sibling    : lyrebird.cc.uq.edu.au/80/3130
        AVG RTT    : 2 msec
        Sibling    : butcherbird.uq.net.au/80/3130
        AVG RTT    : 8 msec
        Sibling    : magpie.uq.net.au/80/3130
        AVG RTT    : 8 msec

The parents' AVG RTT values mostly stayed around 3-4 ms, within a total
range of 2 to 6 ms.

During this same period 28% of TCP_MISS requests were logged as
TIMEOUT_DIRECT fetches (1374 out of 4914 requests).

--
Chris Teakle
Prentice Centre, University of Qld, Australia

Reply via email to