eZ publish performance

Author Message

steve walker

Sunday 13 November 2005 2:42:14 pm

Hi Gabriel,

We run unix boxes as a norm - this happens to be an Intranet for a client (to run on internal box) and their pc support only run windows :( however, worth noting we've seen the same issues on the development version of the site on our unix box.

Hi Lukasz,

The version of Ez on the site is 3.6.0 - I'll look into trying another version.

I'll look into the contrib crawler, could be just what we're after.

Thanks, Steve.

http://www.oneworldmarket.co.uk

Łukasz Serwatka

Sunday 13 November 2005 11:01:12 pm

Steve try to upgrade to 3.6.1, this is easy, just replace all files and run one SQL query then clear all cache.

I remember that I had similar problem to your with 3.6.0 version on Windows platform and I still did not find right answer...However 3.6.1 and higher works with normal speed around 0,12, like in my first post. Upgrading should solve your problem.

Personal website -> http://serwatka.net
Blog (about eZ Publish) -> http://serwatka.net/blog

steve walker

Monday 14 November 2005 11:42:28 am

Hi Lukasz,

Well, we upgraded to 3.6.4 and unfortunately havent seen an improvement :(( Its strange, we created the simplest pagelayout template in the world with a couple of static links:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="no" lang="no">

<head>
</head>
<body>

<div id="allcontent">

                    <a href="http://s-lin-in-01.2garden.mlaw/index.php/2gc_intra/content/view/full/113">link1</a>  and this is <a href="http://s-lin-in-01.2garden.mlaw/index.php/2gc_intra/content/view/full/2">link2</a> </div>
 
</body>
</html>

and we still can do better than 0.42sec page load with 0.2 sec for template processing:

Time accumulators:
 Accumulator  Elapsed  Percent  Count  Average 
ini_load     
Load cache 0.0836 sec 18.0249% 12 0.0070 sec 
Mysql Total     
Mysql_queries -511.9802 sec -110,385.2686% 14 -36.5700 sec 
Looping result 0.0009 sec 0.1927% 7 0.0001 sec 
Template Total -511.7530 sec -110,336.3% 3 -170.5843 sec 
Template load 0.0494 sec 10.6545% 3 0.0165 sec 
Template processing 0.1967 sec 42.4103% 3 0.0656 sec 
override     
Cache load 0.0411 sec 8.8671% 5 0.0082 sec 
Sytem overhead     
Fetch class attribute name 0.0025 sec 0.5386% 1 0.0025 sec 
Total script time: 0.4638 sec 

For some reason 14 sql queries are being ran, but there's nothing in the template requesting it.

There's something really strange going on here. Any idea why we should still get all these queries on a cached page?

If we un-cache the page, load time goes to about 1.7sec - if we disable eaccelerator we see page load times double - so we're pretty sure they are working OK.

During all tests cpu never gets above 30%, and the 2 gig of memory hardly resigters a graph spike.

Regards, Steve.

http://www.oneworldmarket.co.uk

Hans Melis

Monday 14 November 2005 1:18:31 pm

Steve,

First of all, you're on Windows. Windows is a slow OS, especially when disk IO comes into play. You're not going to see major improvements over the 0.4s load times.

The queries on the other hand are caused by index.php. Even though you don't display it, it still performs module actions to build $module_result and it also does user checking/policies.

And last but not least, the total script time reported is far from accurate (at least on Windows). If you add the individual numbers, you'll have less than the total script time. On my PC, the total script time reports 1.0605s, but the actual numbers only add up to 0.7819s.

Hans
http://blog.hansmelis.be

steve walker

Monday 14 November 2005 1:55:57 pm

Hans,

Thanks for the reply and explaining the queries.

But I'm still not convinced :) Everyone else on this thread has:

- lots less mysql queries when using cache enabled and,

- much better performance from horrible windows boxes with *much* lower spec than we're dealing with here?

Or am I misreading results?

Regards, Steve.

http://www.oneworldmarket.co.uk

Fabricio Guerrero

Tuesday 15 November 2005 8:31:18 am

Hi,

What Steve mention is correct.. why do we have 14queries in a template that does nothing??

According to all post on this thread and an answer I received a while back mysql queries would reduce to 2 or 3 if page is cached. So if this is correct why is it that we have a page with no dynamic content nor graphic and being cached and still doing 14queries??

I'm no ezPublish nor MySQL expert but is this do to the way ez or MySQL functions on Windows?

Thanks,
Fabricio

http://www.solobromasychistes.com <<Joomla Site :P
http://www.recipesforhealthyfood.com/ <<Drupal Site :P
http://www.ezforge.com/ <<future ezCommunity, Articles, forums and more...

André R.

Monday 28 November 2005 5:59:22 pm

Hi,

I went from 0,9 - 2 seconds and 11 - 23 mysql queries, with this settings:

[DebugSettings]
DebugOutput=enabled

[TemplateSettings]
Debug=disabled
TemplateCache=disabled
TemplateCompile=disabled

[ContentSettings]
ViewCaching=disabled

to about 0,2- 0,4 seconds and 3 mysql queries on cached pages, when I turned TemplateCache, TemplateCompile and ViewCaching on.

I see alot of you have just 1 querie.
How can I further reduce mysql queries ??
Does DebugOutput=enabled produce some queries??

hardware:
Amd Dualcore 2.2Ghz w/ 2mb
2 Gb
1 Tb in Raid 5

sw:
Debian Sarge
PHP 4.4.0-4
Apache 2.0.54
APC 3.0.8 (eAccelerator have issues with 64bit / dual cpu's)
eZ 3.7.2

eZ Online Editor 5: http://projects.ez.no/ezoe || eZJSCore (Ajax): http://projects.ez.no/ezjscore || eZ Publish EE http://ez.no/eZPublish/eZ-Publish-Enterprise-Subscription
@: http://twitter.com/andrerom

Gabriel Ambuehl

Tuesday 29 November 2005 1:44:45 am

The amount of SQL Queries your page generates is highly dependent on its actual layout, if your site is composed out of many elements you'll always need more queries caching or not...

Visit http://triligon.org

André R.

Tuesday 29 November 2005 2:03:39 am

I know, but the pagelayout does not have anny fetches outside of cache blocks.

{cache-block keys=$uri_string expiry=920  ignore_content_expiry}
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <link rel="stylesheet" type="text/css" href={"stylesheets/core.css"|ezdesign} />
  <link rel="stylesheet" type="text/css" href={"stylesheets/debug.css"|ezdesign} />
  <link rel="stylesheet" type="text/css" href={"stylesheets/map2.css"|ezdesign} media="all" />
  <link rel="stylesheet" type="text/css" href={"stylesheets/print2.css"|ezdesign} media="print" />
  {include uri='design:page_head.tpl' enable_link=false()}
  <script language="JavaScript" type="text/javascript" src={"javascripts/script.js"|ezdesign}></script>
</head>
<body onload="loadpage();">
<div id="map-body">
<div id="map-nav">
<table>
<tr>
{if gt($module_result.path, 2)}
{def $folderList = fetch('content','list', hash(
	'parent_node_id', 2,
	'class_filter_type',  'include',
	'class_filter_array', array( 'folder'),
	sort_by, $node.path.1.sort_array
	))}
	{foreach $folderList as $folder}
	{if eq( $module_result.path.1.node_id, $folder.node_id)}
	<td><a href={$folder.url_alias|ezurl} id="nav_selected">{$folder.name}</a></td>
	{else}
	<td><a href={$folder.url_alias|ezurl}>{$folder.name}</a></td>
	{/if}
	{/foreach}
{undef $folderList}
{else}
{def $folderList = fetch('content','list', hash(
	'parent_node_id', 2,
	'class_filter_type',  'include',
	'class_filter_array', array( 'folder'),
	sort_by, $node.sort_array
	))}
	{foreach $folderList as $folder}
	{if eq( $node.node_id, $folder.node_id)}
	<td><a href={$folder.url_alias|ezurl} id="nav_selected">{$folder.name}</a></td>
	{else}
	<td><a href={$folder.url_alias|ezurl}>{$folder.name}</a></td>
	{/if}
	{/foreach}
{undef $folderList}
{/if}
</tr>
</table>
</div>
<div id="map-nav2">

{if gt($module_result.path, 1)}
{def $folderList = fetch('content','list',hash(
	'parent_node_id', $module_result.path.1.node_id,
	'class_filter_type',  'include',
	'class_filter_array', array( 'folder')
))}
{foreach $folderList as $folder}
{if eq($module_result.path.2.node_id, $folder.node_id)}
<a href={$folder.url_alias|ezurl} id="nav2_selected">{$folder.name}</a>

	{def $folderList2 = fetch('content','list',hash(
		'parent_node_id', $folder.node_id,
		'class_filter_type',  'include'
		))}
		{if gt($folderList2|count,0)}
		<ul>
		{foreach $folderList2 as $folder2}
		{if eq($node.node_id, $folder2.node_id)}
		<li><a href={$folder2.url_alias|ezurl} class="map_nav3" id="nav3_selected">{$folder2.navn}</a></li>
		{else}
		<li><a href={$folder2.url_alias|ezurl} class="map_nav3">{$folder2.navn}</a></li>
		{/if}
		{/foreach}
		{/if}
		</ul>
	{undef $folderList2}
{else}
<a href={$folder.url_alias|ezurl}>{$folder.name}</a>

{/if}
{/foreach}
{undef $folderList}
{/if}

</div>
{/cache-block}

<div id="map-content">

{$module_result.content}

</div>
<!--DEBUG_REPORT-->
</div>
</body>
</html>

eZ Online Editor 5: http://projects.ez.no/ezoe || eZJSCore (Ajax): http://projects.ez.no/ezjscore || eZ Publish EE http://ez.no/eZPublish/eZ-Publish-Enterprise-Subscription
@: http://twitter.com/andrerom

steve walker

Tuesday 29 November 2005 2:08:39 am

Just to add fuel to the fire...

We've seen the same but don't have a solution to the problem.

Check my post above - we create a pagelayout with zero fetches, all it has is two static node links... there's just nothing there - yet the system executes multiple sql queries and takes ages to load.

There's something not right here... And currently dealing with upset cleints as a result :(( One in particular is confused as another Ez site we built for them is really quick..

Regards, Steve.

http://www.oneworldmarket.co.uk

Alexandre Abric

Tuesday 29 November 2005 2:26:16 am

Hi,

Maybe these queries are related to the security of eZ : the kernel must always check if the current user is allowed to view the page.

Kåre Køhler Høvik

Tuesday 29 November 2005 2:40:12 am

Hi Steve

Could you send me the SQLs generated on the empty page ( to kk_at_ez.no ) ?

There was introduced a performance bug in Rev. 12807 which is currently beeing fixed. The SQL calls might be caused by this.

Kåre Høvik

André R.

Tuesday 29 November 2005 2:51:33 am

Alexandre: yeah, but a lot of the ez employees and partners that have posted in this thread have just 1 querie. 3 is not bad, I' just want to learn how to tweak ez..

Steve: I don't have access to my win 2003 server right now, because its behind my schools firewall, and I'm home. But there really must be something wrong with your ez install. 12-14 quries is to much.

what kind of designs do you refer to in your siteaccess ??

mine is:
[DesignSettings]
SiteDesign=map
AdditionalSiteDesignList[]=standard

eZ Online Editor 5: http://projects.ez.no/ezoe || eZJSCore (Ajax): http://projects.ez.no/ezjscore || eZ Publish EE http://ez.no/eZPublish/eZ-Publish-Enterprise-Subscription
@: http://twitter.com/andrerom

steve walker

Tuesday 29 November 2005 5:09:48 am

Kare,

I have changed the pagelayout to using the page I described above, just two static links, nothing else:

Notice: eZMySQLDB::query(1 rows, 0.605 ms) query number per page:0  	Nov 29 2005 13:07:50

SELECT data, user_id, expiration_time FROM ezsession WHERE session_key='30d41969af7d30e8eed6326231320b8e'

Notice: eZMySQLDB::query(0 rows, 0.585 ms) query number per page:1 	Nov 29 2005 13:07:50

SELECT contentobject_id, login, email, password_hash, password_hash_type
FROM   ezuser
WHERE  contentobject_id='0'

Notice: eZMySQLDB::query(0 rows, 0.578 ms) query number per page:2 	Nov 29 2005 13:07:50

SELECT contentobject_id, login, email, password_hash, password_hash_type
FROM   ezuser
WHERE  contentobject_id='0'

Notice: eZMySQLDB::query(0 rows, 0.700 ms) query number per page:3 	Nov 29 2005 13:07:50

SELECT destination_url, forward_to_id
FROM ezurlalias
WHERE source_md5 = '2b7c4514a564d4f3d439d838bf1f83ff' AND
      is_wildcard = 0
ORDER BY forward_to_id ASC, is_internal ASC
LIMIT 0, 1

Timing: 	Nov 29 2005 13:07:50

Module start 'content'

Notice: eZMySQLDB::query(0 rows, 0.685 ms) query number per page:4 	Nov 29 2005 13:07:50

SELECT id, main, memento_key, main_key, memento_data
FROM   ezoperation_memento
WHERE  memento_key='6ceeb025a17151c678afb101d4310ca6' AND main='1'

Notice: eZMySQLDB::query(0 rows, 0.542 ms) query number per page:5 	Nov 29 2005 13:07:50

SELECT id, main, memento_key, main_key, memento_data
FROM   ezoperation_memento
WHERE  memento_key='6ceeb025a17151c678afb101d4310ca6' AND main='0'

Notice: eZMySQLDB::query(0 rows, 0.565 ms) query number per page:6 	Nov 29 2005 13:07:50

SELECT id, module_name, function_name, connect_type, workflow_id, name
FROM   eztrigger
WHERE  name='pre_read' AND module_name='content' AND function_name='read'

Notice: eZMySQLDB::query(1 rows, 0.948 ms) query number per page:7 	Nov 29 2005 13:07:50

SELECT ezcontentobject.*,
                       ezcontentobject_tree.*,
                       ezcontentclass.name as class_name,
                       ezcontentclass.identifier as class_identifier
                       , ezcontentobject_name.name as name,  ezcontentobject_name.real_translation 
                FROM ezcontentobject_tree,
                     ezcontentobject,
                     ezcontentclass
                     , ezcontentobject_name 
                WHERE node_id IN ( 2 ) AND
                      ezcontentobject_tree.contentobject_id=ezcontentobject.id AND
                      ezcontentclass.version=0  AND
                      ezcontentclass.id = ezcontentobject.contentclass_id
                       and  ezcontentobject_tree.contentobject_id = ezcontentobject_name.contentobject_id and
                                  ezcontentobject_tree.contentobject_version = ezcontentobject_name.content_version and
                                  ezcontentobject_name.content_translation = 'eng-GB'

Notice: eZMySQLDB::query(0 rows, 0.520 ms) query number per page:7 	Nov 29 2005 13:07:50

SELECT limit_value
                                          FROM ezuser_role
                                          WHERE contentobject_id = 617

Timing: 	Nov 29 2005 13:07:50

Module end 'content'

Timing: 	Nov 29 2005 13:07:50

End

Timing points:
Checkpoint	Elapsed	Rel. Elapsed	Memory	Rel. Memory
Module start 'content'	0.0000 sec	0.0707 sec	0.0000KB	0.0000KB
Module end 'content'	0.0707 sec	0.0501 sec	0.0000KB	0.0000KB
End	0.1208 sec	 	0.0000KB	0.0000KB
Total runtime:	512.1863 sec	
Time accumulators:
 Accumulator	 Elapsed	 Percent	 Count	 Average
ini_load				
Load cache	512.0726 sec	156,962.3528%	10	51.2073 sec
Mysql Total				
Mysql_queries	1,536.0209 sec	470,826.7106%	9	170.6690 sec
Looping result	512.0002 sec	156,940.1573%	2	256.0001 sec
Template Total	0.1015 sec	31.1%	2	0.0508 sec
Template load	0.0421 sec	12.8949%	2	0.0210 sec
Template processing	512.0588 sec	156,958.1194%	2	256.0294 sec
override				
Cache load	0.0304 sec	9.3104%	2	0.0152 sec
Total script time:	0.3262 sec	

This is after the page had been cached. 9 sql queries in total.

Regards, Steve

http://www.oneworldmarket.co.uk

steve walker

Wednesday 30 November 2005 2:35:38 am

Hi Kåre,

Any ideas on this?

Regards, Steve

http://www.oneworldmarket.co.uk

steve walker

Wednesday 07 December 2005 7:21:09 am

Hey Kare, you still out there??

We really need to fix this, would appreciate some help.

Thanks, Steve

http://www.oneworldmarket.co.uk

Kåre Køhler Høvik

Wednesday 07 December 2005 11:13:26 am

Sorry for the late reply, been very buisy.

I see you've assosiated a workflow with the content/read(before) trigger. This is what is causing your extra SQL calls here.

Please send request to support ( http://ez.no/services/support ) if you'd like us to take look at the how we can optimize the "pre read" workflow.

Kåre Høvik

steve walker

Friday 09 December 2005 8:33:48 am

Hi Kare,

We disabled all the extensions - but we're still seeing loads of mysql queries.

Thanks, Steve

http://www.oneworldmarket.co.uk

Paul Forsyth

Friday 09 December 2005 9:31:03 am

Have you disabled all triggers?

steve walker

Friday 09 December 2005 10:36:09 am

Hi Paul,

Thanks for your reply - AFAWK, all triggers are disabled. Using our stripped down pagelayout as above we see:

Notice: eZMySQLDB::query(1 rows, 0.846 ms) query number per page:0  	Dec 09 2005 18:23:50

SELECT data, user_id, expiration_time FROM ezsession WHERE session_key='36380249a14e449383788a71c93da738'

Notice: eZMySQLDB::query(0 rows, 0.643 ms) query number per page:1 	Dec 09 2005 18:23:50

SELECT contentobject_id, login, email, password_hash, password_hash_type
FROM   ezuser
WHERE  contentobject_id='0'

Notice: eZMySQLDB::query(0 rows, 0.587 ms) query number per page:2 	Dec 09 2005 18:23:50

SELECT contentobject_id, login, email, password_hash, password_hash_type
FROM   ezuser
WHERE  contentobject_id='0'

Notice: eZMySQLDB::query(0 rows, 0.743 ms) query number per page:3 	Dec 09 2005 18:23:50

SELECT destination_url, forward_to_id
FROM ezurlalias
WHERE source_md5 = '2b7c4514a564d4f3d439d838bf1f83ff' AND
      is_wildcard = 0
ORDER BY forward_to_id ASC, is_internal ASC
LIMIT 0, 1

Timing: 	Dec 09 2005 18:23:50

Module start 'content'

Notice: eZMySQLDB::query(0 rows, 0.769 ms) query number per page:4 	Dec 09 2005 18:23:50

SELECT limit_value
                                          FROM ezuser_role
                                          WHERE contentobject_id = 617

Timing: 	Dec 09 2005 18:23:50

Module end 'content'

Timing: 	Dec 09 2005 18:23:50

End

Timing points:
Checkpoint	Elapsed	Rel. Elapsed	Memory	Rel. Memory
Module start 'content'	0.0000 sec	0.0464 sec	0.0000KB	0.0000KB
Module end 'content'	0.0464 sec	0.0524 sec	0.0000KB	0.0000KB
End	0.0989 sec	 	0.0000KB	0.0000KB
Total runtime:	0.1626 sec	
Time accumulators:
 Accumulator	 Elapsed	 Percent	 Count	 Average
ini_load				
Load cache	-511.9264 sec	-168,989.9800%	10	-51.1926 sec
Mysql Total				
Mysql_queries	-511.9872 sec	-169,010.0497%	5	-102.3974 sec
Looping result	0.0001 sec	0.0245%	1	0.0001 sec
Template Total	0.1017 sec	33.6%	2	0.0509 sec
Template load	0.0442 sec	14.5977%	2	0.0221 sec
Template processing	0.0569 sec	18.7682%	2	0.0284 sec
override				
Cache load	-511.9678 sec	-169,003.6559%	2	-255.9839 sec
Total script time:	0.3029 sec	

Queries are down to 4 now which is better, and we can see that some queries need to be there as they are authenticating the user, though you can see that the same query is listed twice?

The sql query time is really low here - but you can see that the template load time is still 0.1 sec which seems a lot still...

If we now change pagelayout back to our normal one for this intranet website we see:

- first time page loads after cache clear, 206 queries

On reloading a cached page we see:

Notice: eZMySQLDB::query(1 rows, 0.655 ms) query number per page:0  	Dec 09 2005 18:34:06

SELECT data, user_id, expiration_time FROM ezsession WHERE session_key='36380249a14e449383788a71c93da738'

Notice: eZMySQLDB::query(0 rows, 0.659 ms) query number per page:1 	Dec 09 2005 18:34:06

SELECT contentobject_id, login, email, password_hash, password_hash_type
FROM   ezuser
WHERE  contentobject_id='0'

Notice: eZMySQLDB::query(0 rows, 0.600 ms) query number per page:2 	Dec 09 2005 18:34:08

SELECT contentobject_id, login, email, password_hash, password_hash_type
FROM   ezuser
WHERE  contentobject_id='0'

Notice: eZMySQLDB::query(0 rows, 0.743 ms) query number per page:3 	Dec 09 2005 18:34:08

SELECT destination_url, forward_to_id
FROM ezurlalias
WHERE source_md5 = '2b7c4514a564d4f3d439d838bf1f83ff' AND
      is_wildcard = 0
ORDER BY forward_to_id ASC, is_internal ASC
LIMIT 0, 1

Timing: 	Dec 09 2005 18:34:08

Module start 'content'

Notice: eZMySQLDB::query(0 rows, 0.687 ms) query number per page:4 	Dec 09 2005 18:34:08

SELECT limit_value
                                          FROM ezuser_role
                                          WHERE contentobject_id = 617

Timing: 	Dec 09 2005 18:34:08

Module end 'content'

Notice: eZMySQLDB::query(1 rows, 0.767 ms) query number per page:5 	Dec 09 2005 18:34:08

SELECT id, user_id, node_id, name
FROM   ezcontentbrowsebookmark
WHERE  user_id='617'
ORDER BY id DESC

Notice: eZMySQLDB::query(1 rows, 1.029 ms) query number per page:6 	Dec 09 2005 18:34:08

SELECT ezcontentobject.*,
                       ezcontentobject_tree.*,
                       ezcontentclass.name as class_name,
                       ezcontentclass.identifier as class_identifier
                       , ezcontentobject_name.name as name,  ezcontentobject_name.real_translation 
                FROM ezcontentobject_tree,
                     ezcontentobject,
                     ezcontentclass
                     , ezcontentobject_name 
                WHERE node_id IN ( 116 ) AND
                      ezcontentobject_tree.contentobject_id=ezcontentobject.id AND
                      ezcontentclass.version=0  AND
                      ezcontentclass.id = ezcontentobject.contentclass_id
                       and  ezcontentobject_tree.contentobject_id = ezcontentobject_name.contentobject_id and
                                  ezcontentobject_tree.contentobject_version = ezcontentobject_name.content_version and
                                  ezcontentobject_name.content_translation = 'eng-GB'

Notice: eZMySQLDB::query(1 rows, 1.008 ms) query number per page:6 	Dec 09 2005 18:34:08

SELECT ezcontentobject.*,
                       ezcontentobject_tree.*,
                       ezcontentclass.name as class_name,
                       ezcontentclass.identifier as class_identifier
                       , ezcontentobject_name.name as name,  ezcontentobject_name.real_translation 
                FROM ezcontentobject_tree,
                     ezcontentobject,
                     ezcontentclass
                     , ezcontentobject_name 
                WHERE node_id IN ( 116 ) AND
                      ezcontentobject_tree.contentobject_id=ezcontentobject.id AND
                      ezcontentclass.version=0  AND
                      ezcontentclass.id = ezcontentobject.contentclass_id
                       and  ezcontentobject_tree.contentobject_id = ezcontentobject_name.contentobject_id and
                                  ezcontentobject_tree.contentobject_version = ezcontentobject_name.content_version and
                                  ezcontentobject_name.content_translation = 'eng-GB'

Notice: eZMySQLDB::query(1 rows, 0.763 ms) query number per page:6 	Dec 09 2005 18:34:08

SELECT id, version, name, identifier, contentobject_name, creator_id, modifier_id,
       created, remote_id, modified, is_container
FROM   ezcontentclass
WHERE  id='1' AND version='0'
ORDER BY version ASC
LIMIT 0, 2

Notice: eZMySQLDB::query(1 rows, 0.994 ms) query number per page:7 	Dec 09 2005 18:34:08

SELECT ezcontentobject.*,
                       ezcontentobject_tree.*,
                       ezcontentclass.name as class_name,
                       ezcontentclass.identifier as class_identifier
                       , ezcontentobject_name.name as name,  ezcontentobject_name.real_translation 
                FROM ezcontentobject_tree,
                     ezcontentobject,
                     ezcontentclass
                     , ezcontentobject_name 
                WHERE node_id IN ( 116 ) AND
                      ezcontentobject_tree.contentobject_id=ezcontentobject.id AND
                      ezcontentclass.version=0  AND
                      ezcontentclass.id = ezcontentobject.contentclass_id
                       and  ezcontentobject_tree.contentobject_id = ezcontentobject_name.contentobject_id and
                                  ezcontentobject_tree.contentobject_version = ezcontentobject_name.content_version and
                                  ezcontentobject_name.content_translation = 'eng-GB'

Notice: eZMySQLDB::query(1 rows, 0.671 ms) query number per page:7 	Dec 09 2005 18:34:08

SELECT id, version, name, identifier, contentobject_name, creator_id, modifier_id,
       created, remote_id, modified, is_container
FROM   ezcontentclass
WHERE  id='1' AND version='0'
ORDER BY version ASC
LIMIT 0, 2

Notice: eZMySQLDB::query(1 rows, 1.040 ms) query number per page:8 	Dec 09 2005 18:34:08

SELECT ezcontentobject.*,
                       ezcontentobject_tree.*,
                       ezcontentclass.name as class_name,
                       ezcontentclass.identifier as class_identifier
                       , ezcontentobject_name.name as name,  ezcontentobject_name.real_translation 
                FROM ezcontentobject_tree,
                     ezcontentobject,
                     ezcontentclass
                     , ezcontentobject_name 
                WHERE node_id IN ( 116 ) AND
                      ezcontentobject_tree.contentobject_id=ezcontentobject.id AND
                      ezcontentclass.version=0  AND
                      ezcontentclass.id = ezcontentobject.contentclass_id
                       and  ezcontentobject_tree.contentobject_id = ezcontentobject_name.contentobject_id and
                                  ezcontentobject_tree.contentobject_version = ezcontentobject_name.content_version and
                                  ezcontentobject_name.content_translation = 'eng-GB'

Notice: eZMySQLDB::query(1 rows, 0.989 ms) query number per page:8 	Dec 09 2005 18:34:08

SELECT ezcontentobject.*,
                       ezcontentobject_tree.*,
                       ezcontentclass.name as class_name,
                       ezcontentclass.identifier as class_identifier
                       , ezcontentobject_name.name as name,  ezcontentobject_name.real_translation 
                FROM ezcontentobject_tree,
                     ezcontentobject,
                     ezcontentclass
                     , ezcontentobject_name 
                WHERE node_id IN ( 116 ) AND
                      ezcontentobject_tree.contentobject_id=ezcontentobject.id AND
                      ezcontentclass.version=0  AND
                      ezcontentclass.id = ezcontentobject.contentclass_id
                       and  ezcontentobject_tree.contentobject_id = ezcontentobject_name.contentobject_id and
                                  ezcontentobject_tree.contentobject_version = ezcontentobject_name.content_version and
                                  ezcontentobject_name.content_translation = 'eng-GB'

Timing: 	Dec 09 2005 18:34:08

End

Timing points:
Checkpoint	Elapsed	Rel. Elapsed	Memory	Rel. Memory
Module start 'content'	0.0000 sec	0.0452 sec	0.0000KB	0.0000KB
Module end 'content'	0.0452 sec	512.1575 sec	0.0000KB	0.0000KB
End	512.2027 sec	 	0.0000KB	0.0000KB
Total runtime:	0.2666 sec	
Time accumulators:
 Accumulator	 Elapsed	 Percent	 Count	 Average
ini_load				
Load cache	-511.9139 sec	-20,023.1195%	12	-42.6595 sec
Mysql Total				
Mysql_queries	0.0336 sec	1.3138%	13	0.0026 sec
Looping result	1,024.0007 sec	40,053.0030%	9	113.7779 sec
Template Total	0.2066 sec	8.1%	2	0.1033 sec
Template load	-511.9563 sec	-20,024.7784%	2	-255.9782 sec
Template processing	0.1623 sec	6.3467%	2	0.0811 sec
override				
Cache load	0.0317 sec	1.2414%	2	0.0159 sec
Total script time:	2.5566 sec	

13 Queries here - we can see the bookmarks in there (which is fine as we cant cache that)...

... but again, huge time dedicated to template processing (0.2 sec) - aaargh!

Any thoughts?

Steve.

http://www.oneworldmarket.co.uk

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