Mailing List Archive: 49091 messages
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

[REBOL] Re: Rugby performance starting to fade ...

From: brett:codeconscious at: 20-Feb-2002 23:32

Hi Petr, Maarten and other ladies and gentlemen,
> as there is some problem with tcp performance on W9x machines (tests for > 100x call to echo function is some 44 sec regardless of machine being > P300 or P650), I gave Rugby a test on W2K, 1.4 Athlon XP machine .... > > Could some of you, help here with some profiling, please?
I've run some tests with a Rugby I downloaded on 18-Feb-02. Be warned though these tests were not rigourous. Tests were run with View which was stupid (memory concerns), but I started that way and was not going to go over it again. Besides I'm not well and should be in bed :). Conclusion: Win9x throttled output of Rugby to normally less than 2 requests per second, *but* was capable of serving more if more clients attached. The 2 requests per second is close to what Petr reported. Petr you might want to try doing a multiple client script like I have to see if this is reflected on your machine. Tests performed using Petr's server script with a modified client script (both included below). The tests took time so I did not run many. The numbers therefore jump around a bit. The machine IPs were used for the network tests. I tried this stuff on three machines - four environments (the p300 was dual booted). Here are the configurations and the approximate test results in requests per second in the brackets: ===test: localhost / single server / single client (Req/Sec) The telling result here is the dual booted p300... 486 laptop 20Mb ?mhz W95 [1.7 - 1.73] P150 48Mb W98 [1.67 - 1.7] P300 96Mb W98 [1.67 - 1.7] P300 96Mb WNT4 [38 - 41] ===test: machine-to-machine / single server / single client (Req/Sec) These machine to machine tests were carried over a quiet network through a switch. Client listed first. Unfortunately, and I don't know why, I couldn't get NT to serve the W9x clients (the clients could not find it) - probably a screw up in the networking configuration. Could invalidate the results.. but oh well... These tests were not repeated. 486W95 -> P150W98 [2.26] P300Nt4 -> P150W98 [1.93] P150W98 -> 486W95 [1.7] P300Nt4 -> 486W95 [1.76] ===test: single server / multiple clients (Req/Sec) This is a more interesting test. It shows that the W9x machines could server more requests but are effectively throttled when talking to a particular client. I basically started multple client sessions on the p300Nt4 box. Starting the clients involves bashing the enter key multiple times quickly so the timing is not brilliant but using a test duration of 1 minute should be ok (which is what I did). ---Network test. 10x P300Nt4 -> 486W95 [0.9 - 0.95] Multiply up and the 486 was really delivering about 9 requests per second. Go the 486! ---Network test. 13x P300Nt4 -> P150W98 [1.3 - 1.5] (1 client failed Vxd error on server) Multiply up and the P150 was really delivering over 15 requests per second. ---Localhost tests 5x P300Nt4 -> P300Nt4 [7.3 - 8.1] Multiply up and the P300Nt4 was really delivering about 35 - 40 requests per second which is consistent with the single server localhost test. I tried this particular test with other number of clients (11, 13). The results were consistent with about 35 - 40 requests per second once you took all the clients together. 10x P300W98 -> P300W98 [1.63] I suspect that all the clients would be limited to about 1.65 in this environment unless they number more than 20. But I could not test this because I could not practically manage to set off over 20 clients! ===Scripts ---Server script REBOL [] do %rugby.r serve/with [echo] tcp://:8005 ---Client script REBOL [] do %rugby.r do get-rugby-service http://localhost:8005 end-time: add 0:00:30 start-time: now/precise req: 0 until [req: req + 1 echo "test" greater? now end-time] print ["Duration (s)" duration: to-decimal (end-time/time - start-time/time)] print ["Requests" req] print ["Requests/seq" req / duration] halt ===Regards :) If no one blows my tests out of the water, then I feel like I've learnt something. I hope it is of some use. Regards Brett.