Share » Forums » Setup & design » Improving eZ publish environment and...

Improving eZ publish environment and performance

Improving eZ publish environment and performance

Tuesday 11 July 2006 3:36:46 am - 16 replies

Modified on Tuesday 11 January 2011 12:55:32 am by Nicolas Pastorino

Author Message

Łukasz Serwatka

Tuesday 11 July 2006 3:56:34 am

Vjeran, nice summary ;)

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

Jeroen Sangers

Tuesday 11 July 2006 9:04:15 am

Very good indeed! This article should get a permanent place on the ez.no site.

francis Nart

Monday 24 July 2006 1:48:41 am

I agree, this thread should be used to update a performance pdf document available on the community. It's always boring and time consuming to search for that kind of information in different places. One document with paragraphs just like that one and regular updates should do it !

This is great work !

Paul Forsyth

Monday 24 July 2006 1:55:17 am

Another useful reference might be this:

http://www.ipersec.com/index.php?q=en/bench_ea_vs_apc

Paul

Jennifer Zickerman

Tuesday 15 August 2006 4:56:57 pm

Great post - thanks Vjeran.

I agree that this would be useful as a standalone "checklist" document. We're in the middle of publishing a series of performance articles right now. After we're finished, with Vjeran's permission, I'll look at updating this checklist with information from those articles and publishing it as a reference document.

In the meantime, I've added comments that point to this forum thread from all the relevant articles, so hopefully this will be easy for people to find.

Vjeran Vlahovic

Wednesday 16 August 2006 10:32:33 am

Hi Jennifer,
of course I agree :)

It would be also nice to include some conclusions from this thread http://ez.no/community/forum/developer/php_modules_needed_fo_ez_3_8_1

Thanks for the feedback!

http://www.netgen.hr/eng

Marko Žmak

Thursday 17 August 2006 3:33:12 am

Yes, the summary post would be usefull as the separate document. But only after it's completed, that is when the "Still unanswered" and "Still under investigation" parts are resolved.

--
Nothing is impossible. Not if you can imagine it!

Hubert Farnsworth

Genri Moshkovich

Tuesday 22 August 2006 5:28:20 am

Great summary! Thanks for makin' it!

Best regards,
Genri Moshkovich

Vjeran Vlahovic

Monday 04 September 2006 8:32:13 am

Some additions to my first post:

<b>gcc version and flags</b>
If php is compiled with the gcc compiler, it seems that GCC 4.1.0 produces slightly slower code than GCC 3.4.5. Sebastian Bergmann benchmarked the PHP 5.1 with gcc 3.4.5, gcc 4.0.2 and gcc 4.1.0 (I suppose that results with php4 would be similar). Check out his post: http://www.sebastian-bergmann.de/blog/archives/566-PHP-5.1-GCC-Benchmark-Update.html

Also, you can set some gcc flags for better performance.
Example:

export CFLAGS="-O3 -pipe -mcpu=pentium4 -march=pentium4 -fomit-frame-pointer"
export CXXFLAGS="${CFLAGS}"
export MAKEOPTS="-j2"
export LDFLAGS="-Wl,-O1"

( from http://forums.ev1servers.net/printthread.php?t=48880 )

<b>Zend Optimizer</b>

Disable any unnecessary optimization passes by zend optimizer if you are using it together with the eAccelerator (for running encoded PHP scripts).
Just put in your php.ini:

zend_optimizer.optimization_level=0

 

http://www.netgen.hr/eng

Nabil Alimi

Monday 09 October 2006 3:44:18 pm

Hi,

I'm not an eaccelerator expert but as this <b>eaccelerator.compress_level="9"</b> is about compression, wouldnt it be more effective to have it set to 0 ?
Compression means that you'll have to decompress at a given moment. Or...?

My blog : http://www.starnab.com/ezpublish / http://www.starnab.com/ / http://www.assiki-consulting.com
eZ Publish Freelance developper. Feel free to contact me +33 674 367 057
nabil at assiki d0t fr

Xavier Dutoit

Monday 09 October 2006 3:50:04 pm

Hi,

Yes, but on the other hand, the files are smaller and could therefore load faster, depending where is the bottleneck, IO bound or CPU.

For what I saw, not a big difference in speed with compress =7, huge difference on the size of the cache.

YMMV.

X+

http://www.sydesy.com

Gaurav Sharma

Friday 29 December 2006 11:54:58 pm

Thanks Vjeran for such a wonderful checklist. You covered almost everything for improving the eZ environment and performance... thanks for it.

http://www.tradebit.com

Jianjun Hu

Monday 02 July 2007 5:37:47 pm

Great!
Thanks!

OnlyBlue

☆..·°∴°.☆°°.☆°.
°∴ °☆ .·enjoy star° .·★°∴°
∴°.°★ .·°
  ミ☆°∴°.★☆° ∴·°
°.☆° .·∴° 

Is it a pleasure after all to practice in due time what one has learnt?

Gaetano Giunta

Tuesday 13 November 2007 2:32:01 pm

eaccelerator.check_mtime="1"

If you set this to sero, you will have faster pages and better throughput on high loads.
But it means your ea cache file is not refreshed when the underlying php page is changed (eg. as regenerated by eZ caching mechanism), so you will have to do some tuning / set up some scripts to do it.

domxl is HIGHLY recommended

Apache MaxRequestsPerChild: I usually set it to 5000 - 10000. It is just a safety measure against memory/resource (eg. db connections) leaks. If you set it too low, when traffic surges you will have a lot of useless recycling of apache processes (although using big Min/Maxspareservers will alleviate the problem of apache processes being recycled at the very moment they are needed)

Principal Consultant International Business
Member of the Community Project Board

Xavier Dutoit

Tuesday 04 December 2007 11:28:13 pm

Hi Gaetano,

Do you have the tuning code you mention in a public place ?

X+

http://www.sydesy.com

André R.

Wednesday 05 December 2007 1:18:48 am

If you use APC like I sometimes do ( easier to install on *nix, and about the same performance ), hers the similar setting:

apc.stat = "0"

apc.stat is the same as eaccelerator.check_mtime, basically if you want APC to check if the file has changed or not. Only enable this on production servers where php ( eZ Publish / extensions ) files never change.

apc.file_update_protection = "0"
apc.include_once_override = "1"

apc.file_update_protection on the other hand is how many seconds APC should wait until it flushes cache for a changed file, protecting against the delay svn up and other update methods has when updating files.

I have not tested apc.include_once_override extensively, but it might give a noticeably speed up for eZ Publish 3.x installs since ezp 3.x has a lot of include_once calls...

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

You must be logged in to post messages in this topic!

36 542 Users on board!

Forums menu