Hi folks -- this may be more of a FormHandler question than a Catalyst question but I thought I&#39;d check here to see if it&#39;s just us:<div><br></div><div>We&#39;ve been using HTML::FormHandler and are basically happy with it... until the performance issue mentioned below hit us. Any Catalystas running into 50-second turnaround time with H:FH?<br clear="all">
<br></div><div><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">[info] Request took 51.956100s (0.019/s)</font></div><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">.------------------------------------------------------------+-----------.</font></div>
<div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">| Action                                                     | Time      |</font></div><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">+------------------------------------------------------------+-----------+</font></div>
<div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">| /auto                                                      | 0.000181s |</font></div><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">| /auth                                                      | 0.001857s |</font></div>
<div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">| /ticket/base                                               | 0.004652s |</font></div><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">| /ticket/item                                               | 0.005865s |</font></div>
<div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">| /ticket/edit                                               | 51.88091s |</font></div><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">|  Base:EDIT                                                 | 51.88050s |</font></div>
<div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">|   get FORM                                                 | 0.000078s </font><span class="Apple-style-span" style="font-family: &#39;courier new&#39;, monospace; ">|</span></div>
<div><span class="Apple-style-span" style="font-family: &#39;courier new&#39;, monospace; background-color: rgb(255, 255, 153);">|   process FORM                                             | <b>51.87286s</b> |</span></div>
<div><span class="Apple-style-span" style="font-family: &#39;courier new&#39;, monospace; ">| /end                                                       | 0.000290s |</span></div><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">&#39;------------------------------------------------------------+-----------&#39;</font></div>
</div><div><br></div><div>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.)</div><div><br></div><div>
The code for the processing is basically as follows:</div><div><br></div><meta charset="utf-8"><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">    $stats-&gt;profile(begin=&gt;&#39;get FORM&#39;);</font></div>
<div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">    my $form = $self-&gt;form;</font></div><meta charset="utf-8"><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">    $stats-&gt;profile(end=&gt;&#39;get FORM&#39;);</font></div>
<div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">    my $params = $c-&gt;req-&gt;params;</font></div><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">    <span class="Apple-style-span" style="background-color: rgb(255, 255, 153); ">$stats-&gt;profile(begin=&gt;&#39;process FORM&#39;);</span></font></div>
<div><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">    my $processed = $form-&gt;process(</font></div><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">        item   =&gt; $item,</font></div>
<div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">        params =&gt; $params,</font></div><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">    );</font></div><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">    <span class="Apple-style-span" style="background-color: rgb(255, 255, 153);">$stats-&gt;profile(end=&gt;&#39;process FORM&#39;);</span></font></div>
<div><br></div><div>System load for this (Linode) server was 0.04 or below during all our tests. There are 31 fields in this form relating to one table in the database; two of these forms are <b>many_to_many</b> with linking tables.</div>
<div><br></div><div>Ideas?</div><div><br></div>-- <br>11 cheers for binary!<br>
</div>