Wednesday, May 16, 2007

Event Architecture Experiment

The benchmarks are impressive. In this situation:
I was able to get over 800 request per second. Every request multicast an event to spread. A Parallel Python process with 0 workers listened and sent the request on to a ppserver process with 2 workers. Each worker wrote the message to a file. Largest Python process was 7mb. So this looks to be pretty tight operation.
Notes:
  • If I don't have the ppserver processes write to a file I get over 1,000 request per second.
  • I have it increment a memcache counter it is ~900 request per second.

Apache ab tool output:
Concurrency Level: 100
Time taken for tests: 9.325 seconds
Complete requests: 10000
Failed requests: 0
Broken pipe errors: 0
Total transferred: 1120773 bytes
HTML transferred: 110066 bytes
Requests per second: 1072.39 [#/sec] (mean)
Time per request: 93.25 [ms] (mean)
Time per request: 0.93 [ms] (mean, across all concurrent requests)


Thats no benchmark!
There are so many reasons this is not a true benchmark. However without a lot of hardware (of which I am lacking) this will do just fine IMO. If I had access to hardware to test this on I would.
  1. Run multiple FAWPS servers
  2. Spread on it own host
  3. Event listener on its own host
  4. ppserver on its own host
  5. Memcached on its own host

0 comments:

Post a Comment