improving performance

Author Message

Greg McAvoy-Jensen

Friday 09 January 2004 10:25:59 pm

I need help with just a little more performance tuning. My database is still small (just one product in the shop, still just testing), but the home page still takes 2-5 seconds to process:

Timing points:
Checkpoint Elapsed Rel. Elapsed Memory Rel. Memory
Module start 'content' 0.0000 sec 1.5819 sec 0.0000KB 0.0000KB
Module end 'content' 1.5819 sec 0.4871 sec 0.0000KB 0.0000KB
End 2.0690 sec 0.0000KB 0.0000KB
Total runtime: 2.0706 sec

Time accumulators:
Accumulator Elapsed Percent Count Average
Mysql Total
Mysql_queries 0.0081 sec 0.3128% 4 0.0020 sec
Looping result 0.0017 sec 0.0665% 3 0.0006 sec
ini_load
Load cache 0.0752 sec 2.8981% 7 0.0107 sec
Template Total 0.4768 sec 18.4% 1 0.4768 sec
Template load 0.0644 sec 2.4796% 1 0.0644 sec
Template processing 0.4098 sec 15.7848% 1 0.4098 sec
Template load and register function 0.0351 sec 1.3524% 2 0.0176 sec
override
Cache load 0.0544 sec 2.0946% 1 0.0544 sec
Total script time: 2.5961 sec

I'm running ezpublish3.3-1, RedHat 9.0, apache 2.0.48, mysql 4.0.17, php 4.3.4 (memory_limit = 16M), and php accelerator 1.3.3r2 (phpa.shm_size - 16 made a big difference (.5 seconds saved in template processing) compared to the 15MB recommended on ez.no's documentation). The server is a 300Mhz Celeron with 264MB (that or thereabouts).

Note that when I run ppa_cache_admin -mv as root, I get "No shm cache available with key 0x0c0deb00. The cache may not exist or you may have insufficient permissions to access it." I'm not convinced it's not running, though.

Note also that the thing used to take 30-40 seconds. The fix? Reboot. I'm guessing the various attempts at installing postgresql, then mysql, plus a new apache meant I had multiple instances of some or all of those in memory, and the thing was thrashing. Now my vmstat shows no processes waiting and 99% of CPU time in idle, with 3564 pages of memory free. When I refresh a page, r becomes 1-2 for ~3 seconds, while CPU user time goes to 67-85% and system time to 11-19%, and cs goes to 167-285.

I'm hoping to get a page to load in under 1 second, so I can have 2-5 connections at one time. Thank you for any suggestions.

Granite Horizon, Certified Developer of eZ Publish Web Solutions
Provider of the SaaS Solution Granite Horizon In The Cloud | http://granitehorizon.com/cloud
http://granitehorizon.com | +1 916 647 6350 | California USA | @granitegreg
Blog: http://granitehorizon.com/blog

Powered by eZ Publish™ CMS Open Source Web Content Management. Copyright © 1999-2014 eZ Systems AS (except where otherwise noted). All rights reserved.

eZ debug

Timing: Jan 19 2025 07:24:16
Script start
Timing: Jan 19 2025 07:24:16
Module start 'layout'
Timing: Jan 19 2025 07:24:16
Module start 'content'
Timing: Jan 19 2025 07:24:17
Module end 'content'
Timing: Jan 19 2025 07:24:17
Script end

Main resources:

Total runtime0.7908 sec
Peak memory usage4,096.0000 KB
Database Queries46

Timing points:

CheckpointStart (sec)Duration (sec)Memory at start (KB)Memory used (KB)
Script start 0.00000.0047 589.1563152.6250
Module start 'layout' 0.00470.0034 741.781339.4609
Module start 'content' 0.00820.7814 781.2422478.4297
Module end 'content' 0.78950.0013 1,259.67198.3281
Script end 0.7908  1,268.0000 

Time accumulators:

 Accumulator Duration (sec) Duration (%) Count Average (sec)
Ini load
Load cache0.00340.4340160.0002
Check MTime0.00140.1806160.0001
Mysql Total
Database connection0.00060.074910.0006
Mysqli_queries0.745294.2337460.0162
Looping result0.00050.0645440.0000
Template Total0.759996.120.3799
Template load0.00250.312720.0012
Template processing0.757495.766620.3787
Template load and register function0.00010.013110.0001
states
state_id_array0.00080.097410.0008
state_identifier_array0.00060.078320.0003
Override
Cache load0.00190.2362290.0001
Sytem overhead
Fetch class attribute can translate value0.00050.061310.0005
Fetch class attribute name0.00090.113020.0004
XML
Image XML parsing0.00060.073110.0006
class_abstraction
Instantiating content class attribute0.00000.000820.0000
General
dbfile0.00090.1092180.0000
String conversion0.00000.001140.0000
Note: percentages do not add up to 100% because some accumulators overlap

Templates used to render the page:

UsageRequested templateTemplateTemplate loadedEditOverride
1node/view/full.tplfull/forum_topic.tplextension/sevenx/design/simple/override/templates/full/forum_topic.tplEdit templateOverride template
1content/datatype/view/ezimage.tpl<No override>extension/sevenx/design/simple/templates/content/datatype/view/ezimage.tplEdit templateOverride template
1content/datatype/view/ezxmltext.tpl<No override>extension/community_design/design/suncana/templates/content/datatype/view/ezxmltext.tplEdit templateOverride template
3content/datatype/view/ezxmltags/paragraph.tpl<No override>extension/ezwebin/design/ezwebin/templates/content/datatype/view/ezxmltags/paragraph.tplEdit templateOverride template
2content/datatype/view/ezxmltags/line.tpl<No override>design/standard/templates/content/datatype/view/ezxmltags/line.tplEdit templateOverride template
1print_pagelayout.tpl<No override>extension/community/design/community/templates/print_pagelayout.tplEdit templateOverride template
 Number of times templates used: 9
 Number of unique templates used: 6

Time used to render debug report: 0.0001 secs