lkml.org 
[lkml]   [2007]   [Feb]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: threadlets as 'naive pool of threads', epoll, some measurements

update:

> i have tried the one Evgeniy provided in the URL:
>
> http://tservice.net.ru/~s0mbre/archive/kevent/evserver_epoll.c
>
> and 'ab -k -c8000 -n80000' almost always aborts with:
>
> apr_socket_recv: Connection reset by peer (104)
>
> in the few cases it finishes, i got the following epoll result, over
> gigabit ethernet, on an UP Athlon64 box:
>
> eserver_epoll: 7800 reqs/sec

eserver_epoll.c had a number of bugs. The most serious one was the
apparently buggy use of "EPOLLET" (edge-triggered events). Removing that
and moving epoll to level-triggered (which is slower but does not result
in missed events) gives:

eserver_epoll: 9400 reqs/sec

> the same with the most naive implementation of the same, using
> threadlets:
>
> eserver_threadlet: 5800 reqs/sec

eserver_epoll_threadlet: 9400 reqs/sec

as expected, the level of extra blocking triggered by this is low - even
if the full request function runs without nonblock assumptions.

Ingo
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2007-02-26 11:53    [W:0.223 / U:0.216 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site