thriftbench: Thrift benchmarking tool

Oct 22, 2009 11:37

While working on finding performance bottlenecks on a project at work, I had to create a load testing framework. Now if we were talking apache, there's no dearth of tools, the most notable being http_load and a new tool found by one of my colleagues, pylotNo such luck, however, for Thrift. So I set out to create such a tool by myself. I took one of ( Read more... )

benchmarking, geeky, thrift, performance, python

Leave a comment

Comments 9

peeyush October 22 2009, 12:05:55 UTC
Nice++

Reply

code_martial October 23 2009, 02:20:26 UTC
Thanku, thanku :D

Reply


toast0 October 22 2009, 21:28:04 UTC
one process = one core may vary by platform (and by python's threading).

might look into the multiprocessing module. In perl, there's a Forks module that has the same api as the threads api*, I'm not sure how different the multiprocessing api is in python vs the threading api

*It just forks instead of creating new threads, and does horrible things for shared structures.

Reply

code_martial October 23 2009, 02:17:52 UTC
I can find only one process/thread listed by ps for my multi-threaded Thrift application on RHEL5. I'm think what we're using isn't what Facebook uses in production. They'd likely have carried over the Google pattern of exposing C++ via Thrift/protobuf.

I can't think of a pure python server as being anything but a toy. Surely not meant for high load production environments.

Reply

code_martial October 23 2009, 02:19:24 UTC
s/I'm think/I think/

Reply

toast0 October 23 2009, 03:55:01 UTC
well... mysql is multithreaded and shows up as one process on rhel.

Easy test, run top, hit 1 (to show all cores), while running something that spawns as many threads as cores and busy loops in all of them.

Well... it's not unreasonable to have a pure perl server livejournal uses/used a perl based loadbalancing server... and it's single threaded (they have an XS module to accelerate some of the processing, which you would probably really want to use). Based on that, it's probably ok to have a pure python server. :D

(yes, for me python == perl, but with significant whitespace)

Reply


h_okay December 5 2009, 18:53:06 UTC
Happy Birthday!
Data89, web data extraction.

Reply

code_martial February 4 2010, 11:33:32 UTC
Belated thanks! I saw your comment just today :(

Reply


Leave a comment

Up