Forums / General / Need a plan for trouble-shooting slow editing speed.

Need a plan for trouble-shooting slow editing speed.

Author Message

cousin mosquito

Monday 13 September 2010 3:52:00 pm

Is there any documentation you might point me at so I can troubleshoot my slow editing speed.

I have 4 servers currently running ezpublish-4.1.3.

One runs normally.
Two (the live ones) run poorly while editing files in both the front-end and back-end guis.
One runs poorly in the front-end gui, and normally in the back-end gui.

By poorly, I mean it takes 30 to 33 seconds to "edit" the page.
Publishing is instant.
Navigation within the back-end is instant.
Navigating the actual site online is also very fast.

For some reason I have noticed that the "gallery" class is editable at normal speeds.
Could this be a clue? Frontpage, article and folder classes are all 30 + seconds slow.

I have used the "Net" tab on firebug to try and locate the slow parts.
It tells me "GET eng-GB" 74.2 kb, 32.19 seconds.

I need direction in techniques for trying to troubleshoot this issue.
Thanks

Asking the dumb questions for your benefit

Gabriel Finkelstein

Monday 13 September 2010 3:55:36 pm

Could you turn on DebugOutput in site.ini and post the timing results?

cousin mosquito

Monday 13 September 2010 8:03:16 pm

"

Could you turn on DebugOutput in site.ini and post the timing results?

"

I can try that on one of the test servers that is sufferring the same problem Gabriel. Thanks, will get back.

Asking the dumb questions for your benefit

cousin mosquito

Monday 13 September 2010 10:49:20 pm

"

Could you turn on DebugOutput in site.ini and post the timing results?

"

Timing points:
Checkpoint Elapsed Rel. Elapsed Memory Rel. Memory
Module start 'content' 0.0000 sec 28.0434 sec 7,488.0859 KB 21,016.6563 KB
Module end 'content' 28.0434 sec 0.4918 sec 28,504.7422 KB 4,047.8984 KB
End 28.5352 sec 32,552.6406 KB
Total runtime: 28.5981 sec

Peak memory usage: 35,254.9219 KB
Time accumulators:
Accumulator Elapsed Percent Count Average
ini_load
Load cache 0.0133 sec 0.0464% 18 0.0007 sec
FindInputFiles 0.0037 sec 0.0128% 18 0.0002 sec
Parse 0.0025 sec 0.0086% 4 0.0006 sec
Save Cache 0.0012 sec 0.0041% 4 0.0003 sec

Mysql Total
Mysql_queries 27.7771 sec 96.8880% 149 0.1864 sec
Looping result 0.0124 sec 0.0431% 139 0.0001 sec
states
state_id_array 0.0009 sec 0.0032% 2 0.0005 sec
Template Total 28.4920 sec 99.4% 3 9.4973 sec
Template load 0.0808 sec 0.2817% 3 0.0269 sec
String conversion in template resource 0.0008 sec 0.0029% 28 0.0000 sec
Template parser: create text elements 0.0252 sec 0.0879% 28 0.0009 sec
Template parser: remove whitespace 0.0054 sec 0.0188% 28 0.0002 sec
Template parser: construct tree 0.1238 sec 0.4319% 28 0.0044 sec
Template load and register function 0.0090 sec 0.0315% 11 0.0008 sec
Template processing 28.4110 sec 99.0991% 3 9.4703 sec
override
Cache load 0.0476 sec 0.1661% 31 0.0015 sec
Sytem overhead
Fetch class attribute is_required 0.0056 sec 0.0197% 7 0.0008 sec
Fetch class attribute name 0.0004 sec 0.0014% 7 0.0001 sec
Fetch class attribute can translate value 0.0002 sec 0.0008% 3 0.0001 sec
class_abstraction
Instantiating content class attribute 0.0035 sec 0.0122% 27 0.0001 sec
XML
Image XML parsing 0.0034 sec 0.0119% 3 0.0011 sec
General
dbfile 0.0005 sec 0.0016% 17 0.0000 sec
String conversion 0.0003 sec 0.0012% 33 0.0000 sec
INI string conversion 0.0002 sec 0.0007% 4 0.0000 sec
String conversion w/ mbstring 0.0001 sec 0.0003% 2 0.0000 sec
Total script time: 28.6693 sec

This is using the "front-end" gui to try to edit a page. The backend-gui works normally on this install, but on my two live servers, both back and front ends are running this slow.

Asking the dumb questions for your benefit

Ivo Lukac

Tuesday 14 September 2010 12:25:54 am

Hi,

Is there a difference between those servers?

E.g. delayed indexing or not, number of subitems of the parent where you publish, mysql configuration, etc...

http://www.linkedin.com/in/ivolukac
http://www.netgen.hr/eng/blog
http://twitter.com/ilukac

André R.

Tuesday 14 September 2010 12:33:29 am

Your mysql server seems to be under a lot of stress, normal browsing on a eZ Publish site only needs 1-10 sql calls, but an uncached page and an edit page will result in several hundreds (in your case 149). So it will be visible there first if your sql server is having issues.

Lookup how to do slow query logging and "show full processlist" to be able to identify the issues. Might be that you need to optimize mysql settings, for instance you might have to littel memory assigned to indexes causing it to sort and filter on disk. Or you basically needs to either move some site out of the server or if it is just one get a faster one.

Take a look at this article:

http://share.ez.no/articles/ez-publish/tuning-mysql-for-ez-publish

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 Finkelstein

Tuesday 14 September 2010 9:26:47 am

You have definitely a problem with MySQL. Although 149 queries is a lot, it still shouldn't take 30 seconds to load. You can try turning on SQLOutput and set a value in SlowQueriesOutput (500ms for example), and see which queries show up.

cousin mosquito

Tuesday 14 September 2010 2:22:54 pm

"

Hi,

Is there a difference between those servers?

E.g. delayed indexing or not, number of subitems of the parent where you publish, mysql configuration, etc...

"

The server that runs the fastest is the lowest specced.

I think its something to do with ini settings somehow. I can remember when it happened. We (and my hired help) were tweaking things at the time. I was watching, but obviously not close enough.

Mysql is set up the same way on all the machines.

Asking the dumb questions for your benefit

cousin mosquito

Tuesday 14 September 2010 2:34:15 pm

"

Your mysql server seems to be under a lot of stress, normal browsing on a eZ Publish site only needs 1-10 sql calls, but an uncached page and an edit page will result in several hundreds (in your case 149). So it will be visible there first if your sql server is having issues.

Lookup how to do slow query logging and "show full processlist" to be able to identify the issues. Might be that you need to optimize mysql settings, for instance you might have to littel memory assigned to indexes causing it to sort and filter on disk. Or you basically needs to either move some site out of the server or if it is just one get a faster one.

Take a look at this article:

http://share.ez.no/articles/ez-publish/tuning-mysql-for-ez-publish

"

Thanks for the advice Andre. If the back-end "edits" fast, and the front-end edits slow, (on the same server) does this still mean it could be a mysql issue?

Asking the dumb questions for your benefit

cousin mosquito

Tuesday 14 September 2010 3:16:00 pm

"

You have definitely a problem with MySQL. Although 149 queries is a lot, it still shouldn't take 30 seconds to load. You can try turning on SQLOutput and set a value in SlowQueriesOutput (500ms for example), and see which queries show up.

"

Turning on SQLOutput is this something I do in mysql ?
If so, do I need a graphical front end to do this, or can it be done on the command line?

Asking the dumb questions for your benefit

cousin mosquito

Tuesday 14 September 2010 3:57:36 pm

"
"

You have definitely a problem with MySQL. Although 149 queries is a lot, it still shouldn't take 30 seconds to load. You can try turning on SQLOutput and set a value in SlowQueriesOutput (500ms for example), and see which queries show up.

"

Turning on SQLOutput is this something I do in mysql ?
If so, do I need a graphical front end to do this, or can it be done on the command line?

"

This from the very same server, but using the admins back-end. These times seem respectable to me. Editing the same page.
I am printing out the entire page so I can compare what templates are being called up.

Timing points:
Checkpoint Elapsed Rel. Elapsed Memory Rel. Memory
Module start 'content' 0.0000 sec 0.8164 sec 8,196.4219 KB 22,959.8906 KB
Module end 'content' 0.8164 sec 0.2376 sec 31,156.3125 KB 6,457.0781 KB
End 1.0540 sec 37,613.3906 KB
Total runtime: 1.0853 sec
Peak memory usage: 38,088.3906 KB
Time accumulators:
Accumulator Elapsed Percent Count Average
ini_load
Load cache 0.0115 sec 0.9972% 22 0.0005 sec
FindInputFiles 0.0049 sec 0.4242% 22 0.0002 sec
Mysql Total
Mysql_queries 0.0808 sec 6.9933% 128 0.0006 sec
Looping result 0.0029 sec 0.2521% 117 0.0000 sec
states
state_id_array 0.0004 sec 0.0378% 1 0.0004 sec
Template Total 0.9824 sec 85.0% 3 0.3275 sec
Template load 0.0561 sec 4.8571% 3 0.0187 sec
String conversion in template resource 0.0031 sec 0.2707% 30 0.0001 sec
Template parser: create text elements 0.0490 sec 4.2428% 30 0.0016 sec
Template parser: remove whitespace 0.0105 sec 0.9044% 30 0.0003 sec
Template parser: construct tree 0.1894 sec 16.3903% 30 0.0063 sec
Template load and register function 0.0087 sec 0.7566% 11 0.0008 sec
Template processing 0.9260 sec 80.1410% 3 0.3087 sec
override
Cache load 0.0047 sec 0.4064% 45 0.0001 sec
Sytem overhead
Fetch class attribute is_required 0.0061 sec 0.5271% 7 0.0009 sec
Fetch class attribute name 0.0008 sec 0.0656% 10 0.0001 sec
Fetch class attribute can translate value 0.0005 sec 0.0396% 6 0.0001 sec
class_abstraction
Instantiating content class attribute 0.0037 sec 0.3239% 36 0.0001 sec
XML
Image XML parsing 0.0065 sec 0.5658% 6 0.0011 sec
General
dbfile 0.0017 sec 0.1449% 70 0.0000 sec
String conversion 0.0025 sec 0.2179% 31 0.0001 sec
String conversion w/ mbstring 0.0019 sec 0.1643% 30 0.0001 sec
Total script time: 1.1555 sec

Asking the dumb questions for your benefit

Gabriel Finkelstein

Tuesday 14 September 2010 4:09:30 pm

"
"

Could you turn on DebugOutput in site.ini and post the timing results?

"

I can try that on one of the test servers that is sufferring the same problem Gabriel. Thanks, will get back.

"

You turn it on in the site.ini of your siteaccess under [DatabaseSettings]