Zbr's days.
December
Sun Mon Tue Wed Thu Fri Sat
         
21
           
2006
Months
Dec

About TODO Blog RSS Old blog Projects 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 (0)


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 (0)


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 (0)


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 (0)