|
|
About ::
TODO ::
Blog ::
RSS ::
Old blog ::
Projects ::
GIT ::
Gallery ::
Notes
Thu, 21 Dec 2006
New netchannels release and scalability tests.
I've release version #19 of the
netchannel subsystem,
which contains API changes required to run
userspace network stack.
This version contains locking bug which leads to crash on netchanel removal
when a lot of them were created.
Scalability testing.
Script has created 22k wildcard (only one dimension (source address)
is wildcard to save some mem) NAT rules
(16k $rand.$rand.$rand.$rand/255.255.248.0 rules and
6k $rand.$rand.$rand.$rand/255.255.255.$rand).
I.e. it is equal to 22k following netfilter rules:
iptables -t nat -I POSTROUTING \
-s $rand.$rand.$rand.$rand/255.255.248.0 \
-d $static/$some_wildcard_mask \
--sport $static_num/$some_wildcard_mask \
--dport $static_num/$some_wildcard_mask \
--proto $static_num/$some_wildcard_mask \
-j SNAT --to-source $static_num
$static_num and $some_wildcard_mask are different on each line, but are
the same for different commands.
Raw socket and netchannel send/recv performance over gigabit link is the same as described
previously.
I can not test NAT processing speed itself (I do not have enough test
machines :).
Userspace trie tests
(described here)
included 1-2 millions multidimensional wildcards insertions/searches.
/devel/networking :: Link / Comments ()
Userspace network stack over new netchannels performance.
Sending:
- 128 bytes writing:
- netchannels: 27-28 MB/sec, 20-30 % CPU usage
- sockets: 7-8 MB/sec, 80-90 % CPU usage
- 4096 bytes writing:
- netchannels: 27-28 MB/sec, 20-30 % CPU usage
- sockets: 30-31 MB/sec, 30-40 % CPU usage
Receiving:
- 128 bytes reading:
- netchannels: 70-71 MB/sec, 80-90 % CPU usage
- sockets: 24-25 MB/sec, 80-90 % CPU usage
- 4096 bytes reading:
- netchannels: 73-74 MB/sec, 80-90 % CPU usage
- sockets: 79-80 MB/sec, 80-90 % CPU usage
New version of the userspace network stack
is available in archive.
/devel/networking :: Link / Comments ()
Kevent will celebrate its first birthday (one year) in a two weeks (Jan 6).
I will try to start and get some results about
true AIO for that date.
Btw, due to the fact that kevent stalls, its inclusion into lighttpd
official tree is postponed/dropped.
Update: I've put a task to patch libevent
to support kevent into my schedule - site is currently down, but I hope it will be ready soon,
so I can complete this task this week.
/devel/kevent :: Link / Comments ()
Kevent patchset has been resent again.
This is second resending of 'take28'
patchset - the last one will be sent either saturday or monday.
Due to complete lack of feedback (oh, no, Ulrich Drepper said that kevent build fails
on his machine, but did not present actual files and did not confirm that
it was fixed by 'make prepare' command, so it can not be counted).
Jonathan Corbet has published an excellent article
in the Dec 13 LWN edition about kevents.
/devel/kevent :: Link / Comments ()
|