> On Fri, Sep 15, 2006, Adrian Chadd wrote: > > I've done some more profiling. Same test setup, current squid3 source. > > > > perfmon output: > > > > -------------------------------------------------------------------------------- > > Samples Self % Total % Function > > > > 18915 26.09% 26.09% MemPool::clean(long) > > 9266 12.78% 38.86% MemPool::getStats(MemPoolStats*)
On the other hand, you seem to have abnormal frequency of mempool cleanups. Normally cleanups should occur either during cachemgr mempool stats page fetch or every 15 seconds via event registration. Obviously its not right to benchmark mempool performance via stats page fetches, so it might pay to find out why is stats/cleanups called so often. In the chunked design, cleanup isn't a garbage collection needed often or at all, its done only for 2 reasons: 1) to get more precise stats about chunks *when* stats page is fetched 2) make it possible to detect idle chunks that need not be kept allocated anymore