-- Testsoftware was Zeusbench 1.01 -- client SuSE 9.1, runlevel 5 with KDE without any running tasks AMD 1400 512MByte DDR266 cheap 10/100 MBit LAN-Card based on Realtek RT8139 server SuSE 9.2, runlevel 3 without any additional tasks AMD K6/450 (without 2nd level cache) 384 Mbyte SDRAM 100MHz cheap 10/100 MBit LAN-Card based on Realtek RT8139 Connected via a cheap switching 5 Port-Router, Longshine LCS-883R-SW500M+, both running at 100MBs Client and Server were rebooted between the usage of the different servers. The retrieved file was a 4096 Byte html. The exact command was "zb 192.168.0.3 /t4k.html -p 80 -n 10000" with changing -c, once with and once without -k for persistent connection I testet - lighttpd 1.3.6, fresh compiled with epoll and "server.max-keep-alive-requests=128" - thttpd 2.25b, fresh compiled (with poll?), disabled log-file support - boa 0.94.13 fresh compiled with default settings. any kind of log files were disabled - dpfTVS 2.0.923 beta, fresh compiled, dynamic pre-fork (go figure) - dpfTVS*, the same, but uses the built in primitive cache to pre-map/load user specified directories - hssTVS 0.176 alpha, fresh compiled with epoll - litespeed 2.0 standard, logfiles disabled, without .htaccess or any other security enabled, expires disabled, using poll - dptTVS 2.0.923 beta, based on dpfTVS but uses threads together with the dynamic filecache of hssTVS Results: the first value is always without, the second value with -k -c value lighttpd thttpd boa dpfTVS (dpfTVS* ) hssTVS LiteSpeed dptTVS 1 711/ 905 649/ 639 666/ 893 672/ 932 (769/1115) 879/1251 717/ 991 759/1084 2 778/1105 738/ 729 818/1114 726/1135 (868/1500) 1205/2159 788/1266 882/1524 3 779/1117 794/ 792 885/1367 740/1153 (869/1494) 1207/2244 818/1314 873/1491 4 774/1100 847/ 808 841/1383 739/1135 (875/1526) 1239/2243 833/1306 872/1485 5 788/1096 842/ 835 869/1401 739/1141 (870/1509) 1218/2202 819/1335 863/1475 6 766/1069 905/ 887 884/1371 728/1098 (872/1493) 1191/2182 825/1300 869/1479 7 778/1086 901/ 910 896/1414 749/1119 (867/1495) 1192/2204 838/1338 868/1490 8 784/1092 899/ 914 902/1430 740/1124 (872/1515) 1167/2210 833/1313 871/1483 9 789/1092 900/ 908 892/1436 718/1118 (869/1495) 1196/2228 834/1343 866/1460 10 786/1088 929/ 902 899/1437 737/1116 (854/1473) 1214/2209 840/1344 868/1470 15 796/1101 920/ 918 898/1432 745/1099 (874/1480) 1197/2227 845/1322 871/1467 20 783/1087 916/ 939 915/1465 735/1106 (867/1484) 1189/2219 845/1332 858/1451 25 783/1087 949/ 917 907/1462 735/1087 (858/1467) 1193/2197 847/1358 869/1425 30 779/1072 957/ 927 911/1454 730/1071 (860/1457) 1199/2191 851/1326 855/1426 35 775/1046 948/ 937 899/1415 739/1070 (858/1449) 1187/2183 847/1340 851/1403 40 766/1029 940/ 924 897/1442 741/1050 (864/1443) 1201/2179 846/1332 856/1402 45 772/1047 935/ 929 895/1421 740/1046 (861/1435) 1189/2190 841/1343 865/1420 50 766/1046 939/ 921 909/1445 736/1045 (857/1416) 1183/2194 840/1332 864/1419 60 756/1038 942/ 916 927/1362 726/1032 (849/1406) 1189/2161 841/1290 860/1410 70 762/1043 916/ 906 929/1363 716/1031 (860/1398) 1185/2126 834/1273 856/1404 80 757/1036 936/ 927 938/1363 713/1018 (857/1385) 1194/2116 835/1282 857/1402 90 758/1040 935/ 928 912/1370 715/1018 (849/1357) 1192/2093 842/1299 851/1399 100 759/1048 929/ 915 906/1371 720/1009 (838/1341) 1172/2084 843/1278 845/1394 110 752/1034 934/ 919 912/1348 712/1010 (846/1346) 1171/2096 831/1301 841/1385 120 734/1032 921/ 919 910/1365 714/1004 (852/1339) 1183/2070 835/1273 847/1392 130 757/1025 931/ 898 913/1365 720/ 997 (844/1325) 1162/2076 828/1282 837/1381 140 744/1017 930/ 910 914/1371 715/ 995 (848/1324) 1173/2068 844/1266 847/1383 150 748/1031 916/ 917 913/1379 715/ 994 (851/1313) 1174/2078 832/1268 842/1377 160 755/1010 930/ 914 919/1358 709/ 993 (848/1314) 1175/2064 839/1275 848/1374 170 741/1033 937/ 920 900/1357 710/1000 (861/1313) 1179/2058 843/1295 842/1368 180 760/1025 937/ 921 907/1369 706/ 997 (855/1312) 1155/2048 841/1277 846/1365 190 749/1009 911/ 926 926/1354 716/1013 (841/1318) 1168/2054 827/1267 850/1364 200 750/1019 937/ 923 911/1371 710/1002 (868/1321) 1179/2052 837/1276 853/1361 210 764/1016 936/ 927 926/1368 708/ 995 (871/1332) 1168/2056 841/1272 847/1350 220 759/1034 932/ 933 924/1378 718/1003 (878/1329) 1160/2051 844/1270 837/1357 230 755/1039 930/ 918 944/1334 715/ 996 (878/1333) 1170/2054 846/1265 849/1358 240 772/1058 937/ 905 924/1381 722/1008 (886/1360) 1178/2056 831/1278 848/1348 250 767/1052 938/ 921 919/1383 722/1021 (884/1342) 1174/2070 841/ 969 853/1345 Well, that's it. I reached over 9700 kB/s with hssTVS in this test, so all above that will be surely limited by the bandwidth (if it hasn't happened already). Lighttpd barely manages to keep ahead of my dpfTVS and LiteSpeed standard doesn't even manage that. dptTVS shows at least that the new nptl has come a long way, but as it basically equals hssTVSs code it also shows the large overhead threading brings to the code. Still, without the dpt and dpf versions as guideline it'll take a lot longer to accomplish anything with the event based technique. As said before, neither dptTVS nor dpfTVS are, what's called, full 3rd generation architectures and LiteSpeed as well as Lighttpd are supposed to be 4th generation. But then these 2 are in fact slowed down comercial "demos", so a direct comparission is a bit fishy as their slowness is caused intentionally rather than due to shortcomings in the design. So much for that. I'd really like to see how the thread or fork versions run on an HT-P4 or a multi CPU setup. I admit freely that my servers have a long way to go until they even match the most basic features the other ones offer, but then I never tried to diminish the fact that they are still quite early in development. Especially hssTVS however should backup my ideas on spending enough time to do things right. I doubt that there are many that come even close and I really doubt that there is one that could beat it hands down, but I've been wrong before... LiteSpeed 2.0 std again shows a major slowdown at 250 concurrent keep-alive requests. Either I made a configuration mistake or there really is a bug/limit somewhere. Allthough 2.0 is around 18%/30% faster than its older 1.5 brother, it still doesn't beat dptTVS or Boa on my machine. The comparission on the test setup of LiteSpeed however indicates that on more current CPU/hardware setups this might not longer be true. I wonder how my hssTVS would have (has?) done compared to the other competitors there. I didn't bother to test the hssTVS 181 built that is my current code base. I do know though that it is around 5% slower than 176 right now. But I wait until I've finished the code clean up before I test it again.