Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 18 Oct 2003 17:11:57 -0400
From:      Yaoping Ruan <yruan@cs.princeton.edu>
To:        rodrigc@crodrigues.org
Cc:        freebsd-hackers@freebsd.org
Subject:   Re: Benchmarking kqueue() performance?
Message-ID:  <3F91AC9D.DDCF0261@cs.princeton.edu>

next in thread | raw e-mail | index | archive | help
Hi,

We've done some sort of tests in terms of the performance of kqueue( )
and select( ). We used a event-driven web server, which has both
kevent() and select() implementation. We designed a workload called
hot-cold test, which has multiple clients machines request up to
thousands of persistent connections, but only dynamically pick some of
them(1%, 2%, 5%, 15%) issue HTTP requests (hot connections), others just
stay idle (cold connections). Thus a high cost event driven mechanism
may spend more time picking up the right connections having real
requests. The results show that the kqueue( ) has neglectable cost on
throughput. But the select( ) version server has about 20% of the full
bandwidth when 1% of the workloads are hot, but jump to 90% of the full
bandwidth when 15% of the workloads are hot.

I've put the two result graphs on:
www.cs.princeton.edu/~yruan/flexiclient

But I have to admit that we didn't scale the demand too much, just up to
2000 connections. (but the FD set for the queue should be larger since
there're open files.)

- Yaoping Ruan
Computer Science Dept.
Princeton University



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3F91AC9D.DDCF0261>