Lisp HUG Maillist Archive

Profiling multi-threaded server app

Hi all,

I originally post this to the hunchentoot dev-list, but was told that
I may get an answer here instead.

I'm trying to profile Edi's hunchentoot web server to see where the
bottleneck is during http file upload.

But I don't know how to use lispworks' profiler to profile a
multi-threaded server app.

The lispworks profiler requires you to run (profile <forms>) and it
will return the profiling data after running <forms>. This won't
work as the action is triggered asynchronously.

A hard way out is to write individual test case that simulates
uploading a 30 mb file, but that would not scale if there are many
cases one would like to investigate.

Is there any trick that you guys can share?

Thanks in advance,
-Mac


Re: Profiling multi-threaded server app


> But I don't know how to use lispworks' profiler to profile a
> multi-threaded server app.

See, 

  http://thread.gmane.org/gmane.lisp.lispworks.general/5563/focus=5573

  "The profiler looks at all threads when invoked using the PROFILE
   macro, so try something like

   (profile (sleep 10))

   in a Listener and then exercise the server threads before SLEEP
   returns."

Cheers,
Chris Dean


Updated at: 2020-12-10 08:47 UTC