Very Poor performance after installing EZP 3.2.3 on Verio server (cache is on)

Author Message

Lazaro Ferreira

Thursday 18 December 2003 11:54:59 pm

We are developing an EZP 3.2.3 professional site. The setup used is URL setup ( nVH ) for Verio bronce hosting package .

Verio's hosting plan includes :

MySQL 3.23.43 support

Web Server ???? (we don't know, but we know it
understands .htaccess files )

CGI - PHP 4.3.2 with GD graphics and MySQL support

Ftp access to the server using a client account

No ssh or telnet access to the Server

The user site URL at Verio should be www.niassa.info/index.php/nakosso

The admin site URL at Verio should be www.niassa.info/index.php/nakosso_admin

actually we are using :

www.niassa.info/index.php?/nakosso (user side)

www.niassa.info/index.php?/nakosso_admin (admin side)

(this is explained below)

---------------------------------------------------------------------------------------------------------

The setup routine:

As explained above we have selected an URL setup (nVH) because we don't have shell access to the production server

First, we have setup everything on the staging server (local) using a mixed of standard and manual install. The setup on the staging server is working ok but it has a poor performance ( we think the poor performance could be a consequence of Template caching disabled, and Debug enabled )

Second, to upload the site we have made a tar.gz archive including a Database SQL dump, at the server we have used Verio archive gateway to untar the archive creating the site dirs and subdirs, and Verio MySQL tool to create the Database from the SQL dump, then we have edited our site.ini.append.php file and configure URLs and Database Settings, after that we faced the following problems :

1) IE browser returns a 500 Server Internal Error Page, we have solved it deleting a line in the .htaccess file copied from the staging server

The offending line issues an Apache 2.0 directive :

"AcceptPathInfo On"

needed to run the URL setup with Apache 2.0

2) Any URL besides the Home Page www.niassa.info/index.php, did not work, and IE browser returns a 404 Page not found Error

We have found a workaround for this issue in EZP 3.x forum, it is intended to patch EZP 3.x for CGI -PHP environments, the patch applied is explained in details at :

http://www.ez.no/developer/ez_publish_3/forum/install_configuration/my_final_patch_for_phpcgi

After applying this patch, we got it to surf any URL, user or admin side, but we have to add the "?" character to every URL as in :

www.niassa.info/index.php?/nakosso

or

www.niassa.info/index.php?/nakosso/nakosso/about

if we miss the "?" character we get a 404 Page not found error again, and no URL works

Finally, we have a very poor performance in the production server (At Verio). We have enable the cache and disable debug, but the performance did not increase a bit

In resume we need to solve the performance problem (for instance: no image cache at the client )
( We think this problem may be related to the kind of URL we are using )

On the other hand this URL patch, was a workaround, and we would like not to be forced to use it, because it is neither user friendly nor Search engine friendly

I hope this explanation, can be useful for somebody that can help us on this matters

Thanks

Lazaro Ferreira

Mzbusiness.com, First EZPublish Partner in Africa

Lazaro
http://www.mzbusiness.com

Bård Farstad

Friday 19 December 2003 2:26:48 am

Hi Lazaro,

Is the performance problem transfer time or processing time to generate the page?

I don't think the url should cause any problems with local caching of image, since they will be served without the ? sign in the path. I.e directly from apache.

eZ publish sends expiry headers so that every page needs to be reloaded from the server, this means that the html needs to be fetched every time you access the page. I.e. local caching of html is disabled. The same goes for proxies.

If you are using a proxy server; this can cause problems if you are using 3.2.x. In 3.3 we've fixed this problem which was that eZ publish sent the headers() before the session_start() in index.php which overwrote the headers we sent. This caused severe slowdowns when using some proxy servers.

If processing time is slow I recommend looking into the usage of cache blocks in pagelayout.tpl. You can find some information about usage here.
http://ez.no/developer/ez_publish_3/documentation/incoming/cache_block_optimization

Hope this helps on your performance problem.

--bård

Documentation: http://ez.no/doc

Balazs Halasy

Friday 19 December 2003 2:43:46 am

Lazaro,

Just a suggestion:
Take a look at the debug information (turn on debugging and surf your site). Look at the timing information that is presented at the bottom of the page. What is it that takes up time? Is it the SQL queries, is it the template rendering, etc. ?

Balazs

Lazaro Ferreira

Sunday 21 December 2003 9:51:03 am

Hi Bard, Balaz

Happily, it never was a processing time problem

Don't ask me why, but the performance is now much better, from 30 secs to less than 10 secs to open the whole page (this is a good performance from Mozambique, definitely! )

Images are already cached locally, however, the html code, it seems like not cache at all, every time you open the page it seems like it were loading the html code again, so the page behaves like not static html page

is this related to the problem mentioned above ?

Lazaro
http://www.mzbusiness.com

Bård Farstad

Sunday 21 December 2003 12:04:37 pm

Lazaro,

eZ publish sends headers telling the webbrowser or proxy not to cache the page at all. This means that the page is always fetched from the webserver.

You could try to alter the header() statements in index.php which disables caching of the html page.

If transfer time is the limiting factor you could try to use the ob_gzhandler to gzip the content before it's sent to the browser. This can be changed in index.php just replace ob_start(); with ob_start("ob_gzhandler"); Then you should get gzipped content served from the server, if the browser supports it.

More information on gzhandler: http://no2.php.net/manual/en/function.ob-gzhandler.php

--bård

Documentation: http://ez.no/doc

Georg Franz

Monday 26 January 2004 10:46:16 am

Hi Bard,

If I enable the ob_gzhandler in index.php, isn't it necerssary to alter the ezcontentcache.php too?

(Change Line 281 to

$php->addCodePiece( "ob_start('ob_gzhandler');\n" );

)

By the way, I've performance troubles at saving contents. (Saving an article lasts up to one minute)

I've noticed that saving content on ez.no is much faster compared with my installation. (e.g. saving a bug report or a forum post). So maybe I've missed setting some caching values? So, which cache-settings do you recommend if I want to have the best performance?

Kind regards,
Emil.

Best wishes,
Georg.

--
http://www.schicksal.com Horoskop website which uses eZ Publish since 2004

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