Re: [squid-users] TCP_MEM_HIT performance

From: Henrik Nordstrom <hno@dont-contact.us>
Date: Thu, 8 Apr 2004 01:29:10 +0200 (CEST)

On Wed, 7 Apr 2004, Francisco Lopez wrote:

> Tests are performed using Jmeter 2.0 from 3 different pc's (to avoid
> client stress).
> Each test run is a constant number of requests (3000) varying the number
> of simultaneous users (3, 6, 15, 30, 60, 150). The objects requests are
> chosen on each loop among a set of 10, with an average page size of 50k.

3000 * 50k = ~150 MB. This work set easily fits in memory.

> Overall, the analysis of the results are consistent with the expected
> behavior:
> a) Number of cpu's has a minimal impact in performance since main squid
> process is not multithreaded

Correct.

> b) Disk performance (SCSI vs. newest IDE controllers) has a minimal
> impact on performance

Correct, as you don't need any disks with such small workset.

> c) Filesystem type affects performance (ext3 w/journaling is slower than
> non journaling filesystems)

With no significant disk I/O there is not much impact of filesystem..

> d) Faster cpu's improves performance

Yes.

> BUT
> a) AUFS performs the same or slower than UFS. According to what I've
> been reading, AUFS should take advantage of multithreading for I/O, and
> in high loads this should improve i/o performance

See above.

> b) 100% TCP_MEM_HIT performs the same or slower than TCP_HIT

Then you are swapping. Make sure your system is not swapping. Assuming you
have sufficient ram you may need to disable the swap partition.

> So my questions are:
> Why AUFS is slower than UFS ?

Because it sacrifies CPU time to utilise disk I/O seek time, which is not
a bottleneck for you as you don't use the disks with such small
workingset.

> Why memory hits are slower than disk hits ?

Because something is terribly wrong in your setup.

> The only theory I have right now is for the second question:
> OS filesystem cache performs better than squid memory cache

The Squid memory cache is some magnitude faster than the OS filesystem
cache, and considerably friendler on CPU usage as there is much less data
copying going on.

The issues with filesystems, aufs/ufs etc is mainly of importantce when
you have a very large workingset of objects such as is the case in a
general Internet proxy having the whole Internet as it's workingset..
accelerators usually have a much smaller and manageable set of objects
where the need of disk I/O is not as important.

Regards
Henrik
Received on Wed Apr 07 2004 - 17:29:13 MDT

This archive was generated by hypermail pre-2.1.9 : Fri Apr 30 2004 - 12:00:02 MDT