[ic] Too very slow pages on ic 5.10.0

Andrew Baerg andrew at pullingshots.ca
Mon Mar 12 03:30:48 UTC 2018


On 2018-03-11 12:51 PM, Peter wrote:
> On 11/03/18 01:44, marco wrote:
>> after 3 months of installation and light use my old production catalogue
>> with:
> 
>> I notice that for the pages with heavy query became very slow and
>> sometimes bring to "Gateway Timeout"
>> "top" utility display cpu to 100% during page wait sometimes for mysql
>> and sometimes for interchange
> 
> You need to benchmark the code on the problematic pages and find out
> exactly which lines or blocks of code are causing the issue.
> 
> This is most likely going to be the result of lots of DB hits from some
> very inefficient code.  Look for calls to [data] or [field], or similar
> tags that waste db hits inside of a [loop] or similar.  Rewrite your
> code so that it does a single query to the db to get all the data you
> need instead and it will end up being way more efficient.
> 

Totally agree with this.

Also, if you are processing large queries with [query sql="..." type=list] ... [/query], consider using the hashref option [query sql="..." hashref="foo"][/query] and then processing the output in a calc block:

[calc]
  foreach $line (@{$Tmp->{foo}}) {
    ....
  }
[/calc]

I have seen page load times go from seconds to milliseconds using this strategy.

Not sure if it applies to the OP's situation, but I seem to remember having some pages that were processing large amounts of data using [query type=list] really slow down on newer Perls with UTF8 enabled in the DBD::Pg driver.

cheers,

Andrew


-- 
https://github.com/pullingshots ... https://metacpan.org/author/BAERGAJ



More information about the interchange-users mailing list