Brad Fitzpatrick (brad) wrote,
Brad Fitzpatrick

Perlbal + async IO rules

One Perlbal process was pushing about 2 Mbps of userpics this afternoon.

Then Michael and I noticed waves in the system calls from watching strace. My fear had come true: the synchronous file (NFS, worse) opens/stats in all the async network code were just killing it.

After fixing up the CPAN module Linux::AIO to compile in Perl 5.8 and Linux 2.6, I plugged it in to make all codepaths async and now...

29 Mbps. One process. One machine. So damn cool. (Our total bandwidth usage is like 170 Mbps, so this is a big piece.....)

And over 10x less active connections, much more CPU usage, etc.
Tags: perl, tech
  • Post a new comment


    default userpic

    Your reply will be screened

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.