So took care of the migrate import scenario.

Performance of old (buggy) version with my test data (some but not many big messages):

time /usr/sbin/sendcommand -h /test migr import < /var/tmp/*xml
sendcommand: started (pid=24356) connecting to Citadel server at /test/var/run/citadel/citadel-admin.socket
200 potzblitz Citadel server ADMIN CONNECTION ready.
migr import
400 sock it to me
sendcommand: processing ended.

real    3m2.986s
user    0m1.886s
sys     0m15.951s

 

Whether one uses Splice or not doesn't seem to be so important

time ./citadel/sendcommand -w 5000 -h /test migr import < /var/tmp/*xml
sendcommand: started (pid=7682) connecting to Citadel server at /test/var/run/citadel/citadel-admin.socket
200 potzblitz Citadel server ADMIN CONNECTION ready.
migr import
400 sock it to me
sendcommand: processing ended.

real    2m14.315s
user    0m0.010s
sys     0m0.350s

 

So we roughly save 25% real time.

the sendcommand enhancement accounts from 17.8s -> 0.36s

it seems not to be so important whether one uses zerocopy (splice) or blockbuffered read/writing in our scenario.

Reply via email to