Brad Fitzpatrick (bradfitz) wrote in lj_dev,
Brad Fitzpatrick
bradfitz
lj_dev

CPU strain, profiling Perl code

With the upgrade to our databases, all of the CPUs on all of our web nodes are now maxed out during the day. And we just bought another round of web nodes. It's incredible how db problems and web problems keep switching. But it's not for nothing.... we hit a new outgoing bandwidth record. So there is demand... and it just keeps growing.

It'll be a while before we can get new web nodes both because it takes a while to have them built, and because our 3 cabinets are pretty much full and our fourth isn't setup yet (totally empty, no networking hardware).

So....

Any patches to improve performance would be greatly appreciated! If you know of any particular piece of code you think you can rewrite to be faster (while still being obviously identical in functionality), test it with "use Benchmark" and submit a patch.

Unforunately Devel::DProf totally sucks (does nothing but segfault), and Devel::Profiler is barfing too. So I can no longer profile the code and find the slow/CPU-intensive spots. Devel::DProf used to work half the time, but it won't now. :-/

Anybody have any profiling advice?

In the meantime we're rushing to get cabinet #4 setup and ordering new web nodes.
Subscribe
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 15 comments