[Catalyst] HTML::FormHandler performance issue in Catalyst app -- 50 seconds?!

Peter Edwards peter at dragonstaff.co.uk
Tue Apr 12 07:30:07 GMT 2011


On 12 April 2011 02:53, will trillich <will.trillich at serensoft.com> wrote:

> Hi folks -- this may be more of a FormHandler question than a Catalyst
> question but I thought I'd check here to see if it's just us:
>
> We've been using HTML::FormHandler and are basically happy with it... unt=
il
> the performance issue mentioned below hit us. Any Catalystas running into
> 50-second turnaround time with H:FH?
>
> [info] Request took 51.956100s (0.019/s)
> .------------------------------------------------------------+-----------.
> | Action                                                     | Time      |
> +------------------------------------------------------------+-----------+
> | /auto                                                      | 0.000181s |
> | /auth                                                      | 0.001857s |
> | /ticket/base                                               | 0.004652s |
> | /ticket/item                                               | 0.005865s |
> | /ticket/edit                                               | 51.88091s |
> |  Base:EDIT                                                 | 51.88050s |
> |   get FORM                                                 | 0.000078s |
> |   process FORM                                             | *51.87286s=
*|
> | /end                                                       | 0.000290s |
> '------------------------------------------------------------+-----------'
>
> Turnaround time ranges from 6 seconds to 50+ seconds, with no discernable
> pattern to the delay. (We can edit the same record multiple times and get
> wildly differing lags.)
>
>
> Run your test server with perl -d:NYTProf myapp.pl and see which routines
use the time http://search.cpan.org/perldoc?Devel::NYTProf .
Maybe it is blocking on DNS network lookups.
Or if the time isused around the database calls, run with DBIC_TRACE=3D1 pe=
rl
myapp.pl and watch and see which are the slow ones,  then run your database
query optimiser like  EXPLAIN SELECT foo;
http://dev.mysql.com/doc/refman/5.0/en/explain.html
http://www.postgresql.org/docs/8.3/static/sql-explain.html
Are other processes/users accessing the same database? If so check for lock
competition. Also disk space.

Regards, Peter
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.scsys.co.uk/pipermail/catalyst/attachments/20110412/df9da=
d67/attachment.htm


More information about the Catalyst mailing list