Re: Async I/O Questions

From: Jim Richey <jrichey@dont-contact.us>
Date: Wed, 16 Feb 2000 15:55:43 -0500

Henrik Nordstrom wrote:
>
> Jim Richey wrote:
> >
> > We are currently running without Async I/O on two Sun Ultra 150's with
> > Solaris 2.6. Squid is configured with --enable-dlmalloc,
> > --enable-cache-digests --disable-ident-lookups. It's compiled with GCC
> > 2.8.1 with -O3 -mcpu ultrasparc in addition to the standard CFLAGS.
> > cache_mem is 128MB and cache is 4.9GB accross three 2.1 GB drives with
> > fastfs. Usage averages 200 to 300 requests per minute on each system.
>
> Hmm.. are you sure you want to have cache_mem 128 MB? It is a awful lot
> of memory for cache_mem... how much memory does the machine have?
 
We are running with priority paging enabled. My understanding is that
even though squids use of cache_mem is not optimal, with priority paging
enabled it's better to have more objects stored in application memory
since the preference is to swap out or free non-application memory such
as file cache. We have 1GB of memory on each system.

> > 1. With this configuration is there any performance advantage
> > with async i/o?
>
> Probably not. With that low load async-io shouldn't make any noticeable
> difference, or may actually make things (especially cache hits) slower..

At what load level would you say async i/o would most likely be better?

> > 2. Without async i/o when squid gets busy the client either waits
> > until squid returns the object or times out. What happens with
> > async i/o if there are not enough threads available?
>
> If you are using my Squid-2.2.STABLE5-hno version then it theoretically
> bypasses disk if the disks or I/O threads can't keep up with the load.

We are running 2.2.STABLE5. What is the -hno version? So if there are
not enough threads available squid will retrieve from the origin server
rather than from cache? What does standard 2.2.STABLE5 do in this
situation?

 
> > 3. When building with --enable-async-io are the number of threads set
> > solely by NUMTHREADS in aiops.c or do I also need to compile with
> > -DNUMTHREADS= in CFLAGS?
>
> The --enable-async-io option takes the number of threads to use.

configure --help does not show this. Is this something like
--enable-async-io=64

> > 4. Are there other compiler optimizations besides -O3 and
> > -mcpu=ultrasparc for GCC 2.8.1 for running on Sun ultrasparc cpu's and
> > Solaris 2.6?
>
> Don't know. I do not use Solaris or UltraSparc.
>
> ps. Do not use async-io in Squid-2.3 at this time. There are a couple of
> new Squid-2.3 specific async-io bugs not yet fixed.
>
> /Henrik

-- 
Jim Richey
jrichey@highmark.com
Highmark, Inc.
http://www.highmark.com
Received on Wed Feb 16 2000 - 14:04:05 MST

This archive was generated by hypermail pre-2.1.9 : Tue Dec 09 2003 - 16:51:17 MST