#$Id$
#
# ser measurements

date: 20.09.2002

hardware: dorian 2*Athlon 1200 (ser) <=gigabit=> mobile34 2*PIII 900 (stress)

version: ser 0.8.7-14-gpl (i386/Linux)
flags: STATS:Off, USE_IPV6, NO_DEBUG, SHM_MEM, SHM_MMAP, PKG_MALLOC, F_MALLOC,
FAST_LOCK-ADAPTIVE_WAIT ADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144,
MAX_LISTEN 16, MAX_URI_SIZE 1024, BUF_SIZE 3040

ser command: ./ser -f test/test-throughput.cfg -l 10.0.0.179 -n 1 -D 
ser command: ./ser -f test/th-uri-fast.cfg     -l 10.0.0.179 -n 1 -D -m 256

test calls: 100000 

stateless:

                  throttle      1 proc (cps)   2 procs (cps)   4 procs (cps) 
ser   gcc-3.2      20            3093  2967     3267  3398       3536  3549
                  100            4587  4669     5011  5181       4872  4985 
                  150            4920  4836     5161  5127       5122  5134

tm:

ser  gcc-3.2      20             2456  2448     3158  3147       3137  3179
                 100             2535  2535     3429  3445       3399  3365
                 150             2537* 2542*    3448  3473       3359  3407*
                 200             2546* 2560*    3434* 2948+      3365* 3425*

(*) - retransmissions ( 500ms)
(+) - retransmissions (2000ms)
------------------------------------------------------------------------------



date: 23.09.2002

hardware: alioth UltraSparc-IIi (ser) <=fasteth=> mobile34 2*PIII 900 (stress)

version: ser 0.8.7-15-tests (sparc64/SunOS)
flags: STATS:Off, USE_IPV6, SHM_MEM, SHM_MMAP, PKG_MALLOC, F_MALLOC,
FAST_LOCK-ADAPTIVE_WAIT ADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144,
MAX_LISTEN 16, MAX_URI_SIZE 1024, BUF_SIZE 3040 

ser command: ./ser -f test/test-throughput.cfg -l 192.168.57.33 -n 1 -D -m 256
ser command: ./ser -f test/th-uri-fast.cfg     -l 192.168.57.33 -n 1 -D -m 256

test calls: 10000 


stateless:
                  throttle      1 proc (cps)   2 procs (cps)   4 procs (cps) 
ser gcc 3.0        20             666   665      672   673
                  100             666*  658*     675*  656*
                  200             671   660*

ser gcc 3.0        20             805   807
-DDNS_IP_HACK     100             802*  804*
                  200             783*  775*

tm:
ser gcc 3.0        20             542   551
-DDND_IP_HACK     100             550   553*
                  200             523*  530*

-------------------------------------------------------------------------------



date: 23.09.2002

hardware: balrog 4*UltraSparc-II 296 Mhz (ser) <=fasteth=> mobile34 2*PIII 900 
(stress)

version: ser 0.8.7-15-tests (sparc64/SunOS)
flags: STATS:Off, USE_IPV6, NO_DEBUG, DNS_IP_HACK, SHM_MEM, SHM_MMAP,
PKG_MALLOC, F_MALLOC, FAST_LOCK-ADAPTIVE_WAIT ADAPTIVE_WAIT_LOOPS=1024,
MAX_RECV_BUFFER_SIZE 262144, MAX_LISTEN 16, MAX_URI_SIZE 1024, BUF_SIZE 3040

ser command: ./ser -f test/test-throughput.cfg -l 192.168.46.35 -D -n 1 -m 256
ser command: /ser -f test/th-uri-fast.cfg      -l 192.168.46.35    -n 4 -m 256 

test calls: 10000 


stateless:
                  throttle      1 proc (cps)   2 procs (cps)   4 procs (cps) 
ser gcc3.2         20             924   923      1591  1602      1624  1670
(DNS_IP_HACK)     100             932*  906*     1486* 1420*     1517  1495
                  200             939*  917*     1300* 1386*     1157* 1275*

tm:
                  throttle      1 proc (cps)   2 procs (cps)   4 procs (cps) 
ser gcc3.2         20             704  725       1137  1202      1460  1575
(DNS_IP_HACK)     100             703* 683*      1150*           1398* 1451*
                  200             723* 723*      1207* 1277*     1176* 1369*

stress:
test calls: 1000000
                  100          100 procs (cps)
                                   107* - out of mem

------------------------------------------------------------------------------



date: 09.10.2002

hardware: dorian 2*Athlon MP2000 (ser) <=gigabit=> mobile34 2*PIII 900

version: udp_test_proxy (compiled w/ gcc-3.2 -O9 -march=athlon)

command line: ./udp_test_proxy -l 10.0.0.179 -s 5060 -d 10.0.0.34 -p 5090 -n 2;
              ./udp_test_proxy -l 10.0.0.179 -s 5070 -d 10.0.0.34 -p 5000 -n 2


test calls: 100000
                  throttle      1 proc (cps)   2 procs (cps)   4 procs (cps) 
udp_test_proxy    20                           3984  4015
                 100                           5140* 5104*
                 200                           5451* 5529* 

------------------------------------------------------------------------------



date: 09.10.2002

hardware: dorian 2*Athlon MP2000 (ser) <=gigabit=> mobile34 2*PIII 900

version: ser 0.8.7-14-gpl (i386/Linux)
flags: STATS:Off, USE_IPV6, NO_DEBUG, DNS_IP_HACK, SHM_MEM, SHM_MMAP,
PKG_MALLOC, F_MALLOC, FAST_LOCK-ADAPTIVE_WAIT ADAPTIVE_WAIT_LOOPS=1024,
MAX_RECV_BUFFER_SIZE 262144, MAX_LISTEN 16, MAX_URI_SIZE 1024, BUF_SIZE 3040 


ser command: ./ser -f test/test-throughput.cfg -l 10.0.0.179 -n 2 -m 256
ser command: ./ser -f test/th-uri-fast.cfg     -l 10.0.0.179 -n 2 -m 256

test calls: 100000

stateless:
                  throttle      1 proc (cps)   2 procs (cps)   4 procs (cps) 
ser 0.8.7-gpl     20                           3969  4013
                 100                           5115  5023*
                 200                           5064* 5065* 

statefull(tm):
                  throttle      1 proc (cps)   2 procs (cps)   4 procs (cps) 
ser 0.8.7-gpl     20                           3388
                 100                           3513+ 3509+
                 200                           3583+ 3409+

------------------------------------------------------------------------------



date: 09.10.2002

hardware: dorian 2*Athlon MP2000 (ser) <=gigabit=> mobile34 2*PIII 900

version: ser 0.8.9 (i386/linux)
flags: STATS:Off, USE_IPV6, NO_DEBUG, SHM_MEM, SHM_MMAP, PKG_MALLOC, F_MALLOC,
FAST_LOCK-ADAPTIVE_WAIT ADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144,
MAX_LISTEN 16, MAX_URI_SIZE 1024, BUF_SIZE 3040

ser command: ./ser -f test/test-throughput.cfg -l 10.0.0.179 -n 2 -m 256
ser command: ./ser -f test/th-uri-fast.cfg     -l 10.0.0.179 -n 2 -m 256

test calls: 100000

statefull(tm):
                  throttle      1 proc (cps)   2 procs (cps)   4 procs (cps) 
ser 0.8.9         20                           3420
                 100                           3415+ 3557+
                 200                           3401+ 3374++
+NOLOG
+HASH_POWER 10   100                           3661+
(24kb)           200                           3606+
+HASH_POWER 12   100                           4221
(96kb)           200                           4295

                  20            3728 3787
+HASH_POWER 16   100                           4319
(1.5Mb)          200            3788           4447  

+HASH_POWER 20   100                           4467+             4740+
(24Mb)           200                           4595+             4525+
+HASH_POWER 22   100                           4627*             4636*
(96Mb)           200                                             4664*


new_hash2:

+HASH_POWER 16   20            3931            4045 4053
                100                            4148 4618
                200                                              4923   4931!!
+HASH_POWER 20  200                                              4853+  4987*
+HASH_POWER 22  100                                              4857*
                200                                              4754*  4811+


(!!) - bye retrans?

------------------------------------------------------------------------------

hash dist: ( min/max/diff/nonzero)
                2^10            2^12                2^14            2^16
new_hash   98/168/70/1023    13/60/47/4095     1/21/20/16377    1/15/14/55963
new_hash2  96/166/70/1024    16/53/37/4096     1/21/20/16377    1/11/10/57213


hash test results:

                     gcc 2.95   gcc2.95 -O9      gcc3.2 -O9    gcc3.2 athlon
new_hash             17.6        11.3             11.1
new_hash2_old        16.6        12.6             10.9
new_hash2            12           7.1              7.2         7.18
-------------------------------------------------------------------------------
date: 04.09.2002

hardware: dorian 2*Athlon MP2000 (ser) <=gigabit=> mobile34 2*PIII 900

version: ser 0.8.11 (i386/linux)
flags: STATS:Off, USE_IPV6, USE_TCP, DISABLE_NAGLE, DNS_IP_HACK, SHM_MEM, SHM_MMAP, PKG_MALLOC, F_MALLOC, FAST_LOCK-ADAPTIVE_WAIT
ADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144, MAX_LISTEN 16, MAX_URI_SIZE 1024, BUF_SIZE 65535
@(#) $Id$
main.c compiled on 14:34:25 Sep  4 2003 with gcc 3.3

(standard release flags)

ser command: ./ser -f test/test-throughput.cfg -l 10.0.0.179 -n 2 -m 256
ser command: ./ser -f test/th-uri-fast.cfg     -l 10.0.0.179 -n 2 -m 256

test calls: 100000

stateless:
                  throttle      1 proc (cps)   2 procs (cps)   4 procs (cps) 
ser 0.8.11        20                           3951  3975
                 100                           5032* 5057
                 200                           5306  5360     5291 5321 5319
statefull (tm):
                  throttle      1 proc (cps)   2 procs (cps)   4 procs (cps) 
ser 0.8.11        20                           
                 100                                           4155 4429 4510
                 200                                           4450 4349


 w/ NO_DEBUG && CPU=athlon-mp CC_EXTRA_OPTIONS=-march=athlon-mp
stateless:
                  throttle      1 proc (cps)   2 procs (cps)   4 procs (cps) 
ser 0.8.11        20                           
                 100                                           5202 5224
                 200                                           5384 5370
statefull (tm):
                  throttle      1 proc (cps)   2 procs (cps)   4 procs (cps) 
ser 0.8.11        20                           
                 100                                           4411 4549
                 200                                           4602 4493
statefull(tm)
0.8.11+
F_MALLOC_OPTIMIZE 12  100                                      4723 4660 4740
                      200                                      4804 4879 4849
(4857 cps, 1000000 calls, throttle=200)

as above + std. cfg   100                                      4496 4453
 (etc/ser.cfg)        200                                      4441 4445
 (3 ifs, 5 aliases)

 w/ usrloc lookups   100                                       4371 4475
                     200                                       4381 4390

(*)  - inv. retr
(!!) - bye retrans?