diff options
author | Volker Lendecke <vl@samba.org> | 2014-08-21 14:32:07 +0000 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2014-08-23 00:24:18 +0200 |
commit | 4288c5496bcfa530066d5e8e4927472715b71465 (patch) | |
tree | 7faed0b498e5ab5d9aef9d7e5d425d0bf53027cb /source3/wscript_build | |
parent | ff9a083363b3749e0f9e346ea31e95c5e35e94ff (diff) | |
download | samba-4288c5496bcfa530066d5e8e4927472715b71465.tar.gz samba-4288c5496bcfa530066d5e8e4927472715b71465.tar.xz samba-4288c5496bcfa530066d5e8e4927472715b71465.zip |
messaging3: Add msg_sink/source -- perftest
With this pair of programs I did some performance tests of the messaging
system. Guess what -- I found two bugs :-)
See the subsequent patches.
With 1500 msg_source processes I can generate message overload: A
Intel(R) Xeon(R) CPU L5640 @ 2.27GHz
can receive roughly 100k messages per second. When using
messaging_read_send/recv user/system time is roughly even, a bit more
work done in user space. When using messaging_register, due to less
malloc activity, user space chews a lot less.
By the way: 1.500 helper threads in a blocking sendto() against a single
datagram socket reading as fast as it can (with epoll_wait in between)
only drove the loadavg to 12 on a 24-core machine. So I guess unix domain
datagram sockets are pretty well protected against overload. No thundering
herd or so. Interestingly "top" showed msg_sink at less than 90% CPU,
although it was clearly the bottleneck. But that must be a "top" artifact.
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Diffstat (limited to 'source3/wscript_build')
-rwxr-xr-x | source3/wscript_build | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/source3/wscript_build b/source3/wscript_build index 4365d61ba7..740ab76514 100755 --- a/source3/wscript_build +++ b/source3/wscript_build @@ -1292,6 +1292,20 @@ bld.SAMBA3_BINARY('msgtest', param''', install=False) +bld.SAMBA3_BINARY('msg_sink', + source='torture/msg_sink.c', + deps=''' + talloc + param''', + install=False) + +bld.SAMBA3_BINARY('msg_source', + source='torture/msg_source.c', + deps=''' + talloc + param''', + install=False) + bld.SAMBA3_BINARY('smbcacls', source='utils/smbcacls.c', deps=''' |