Loading...
 
Skip to main content

Custom Share Module 0.1dev

History: PerformanceTuning

Preview of version: 8

tikiwiki.org is enhanced by eAccelerator


Performance Tuning

This page doesn't include tuning on the database. That you'll find here: DbPerformance

Apache

Some documents


This is a page about mod_perl tuning, just ignore the perl stuff and look at the apache tweaks in there. They did help me to get our tw.o stable again. 😊


Additional apache tuning for sites with much traffic (german)

Apache Config (httpd.conf)

Copy to clipboard
# time out connections earlier, 300 is too much Timeout 150 # clients may keep alive existing connections KeepAlive On MaxKeepAliveRequests 120 KeepAliveTimeout 15 # switch off hostname lookups, that needs some time HostnameLookups Off MinSpareServers 6 MaxSpareServers 8 StartServers 10 # 10 clients should be enough, but for peaks 50 might be good. # depends on your memory, 50 works for 2GB memory MaxClients 50 # dont set this to a value too low: MaxRequestsPerChild 1500


Try to move load from the server, tell clients to cache data:

Copy to clipboard
<IfModule mod_expires.c> <IfModule mod_headers.c> ExpiresActive On # dont cache html as people wont get page updates: # ExpiresByType text/html "access plus 1 month" ExpiresByType text/css "access plus 6 month" ExpiresByType text/javascript "access plus 6 month" ExpiresByType image/gif "access plus 6 month" ExpiresByType image/jpeg "access plus 6 month" ExpiresByType image/png "access plus 6 month" <Files ~ "\.(js|css|gif|jpe?g|png)$"> Header append Cache-Control "public" </Files> </IfModule> </IfModule>

Virtual Host Settings


Limit connections from one ip to a given number.

Homepage of mod_limitipconn

Copy to clipboard
<IfModule mod_limitipconn.c> Customlog /var/log/nameofvirtualhost-access-denied.log combined env=LIMITIP <Location /> MaxConnPerIP 10 NoIPLimit img/* </Location> </IfModule>

PHP Settings (php.ini)

Copy to clipboard
# if you want to reduce CPU usage, set it to off # if you want to limit traffic, set to on zlib.output_compression = Off max_execution_time = 30 ; Maximum execution time of each script, in seconds max_input_time = 30 ; Maximum amount of time each script may spend parsing request data memory_limit = 16M ; 8 is way too far, try 16 MB here, if you still get blank pages, raise it in 1 MB steps


ohertel

eAccelerator

Homepage: http://www.eaccelerator.net/
Description: A PHP Accelerator & Encoder.
License: GPL-2

eAccelerator is a further development from mmcache PHP Accelerator & Encoder. It increases performance of PHP scripts by caching them in compiled state, so that the overhead of compiling is almost completely eliminated.

Install


If your are compiling and installing eAccelerator yourself, add this to php.ini:

Copy to clipboard
zend_extension="/usr/lib/php4/20020429/eaccelerator.so" <-- path may be different eaccelerator.shm_size="64" <-- set to 32 or 16 if php core dumps .) eaccelerator.cache_dir="/tiki/var/tmp/eaccelerator" <-- path may be different eaccelerator.enable="1" eaccelerator.optimizer="1" eaccelerator.check_mtime="1" eaccelerator.debug="0" eaccelerator.filter="" eaccelerator.shm_max="0" eaccelerator.shm_ttl="0" eaccelerator.shm_prune_period="0" eaccelerator.shm_only="0" eaccelerator.compress="1" eaccelerator.compress_level="9"


-

Alternative PHP Cache (APC)

License: PHP License, version 2.02
Homepage: http://pecl.php.net/package/APC
A version is available for PHP5

Install


-

PHPA (not free !)

http://www.php-accelerator.co.uk
Benchmark says that smarty gets a real advantage :
http://www.phpinsider.com/benchmarks

BUT that is not really a free software, it's distributed in binary and there is no source. There are some other solutions I have to try out.
2003-06-30 : something strange happened with phpa, it was not working anymore, I had to disable it and re-enable it. I'm inquiring.
Finally : I disabled PHPA because it puts random white pages.

I have gotten quite some memory errors when using PHPA, seems smarty does not like it, and stops with a memory overflow

BTW, apc also doesn't work, same error.


-

Turck MMCache

http://turck-mmcache.sourceforge.net

It's a FREE open source PHP accelerator, optimizer, encoder and dynamic content cache for PHP and even faster than commercial Zend Zend Performance Suite.

Remember to follow the installation steps one by one:http://turck-mmcache.sourceforge.net/#install

Do remember to create a temp dir for it, otherwise it will produce blank pages. OK, that's all. I'm sure you will be impressed about the increase in speed. It's nearly 5 times faster!


-

Performance measurements


Environment:
Athlon XP 2100+, 512 MB DDR, Apache 1.3.X, PHP 4.3.0

1st try:

used a shellscript, that does 10 wget runs at a time with wget -r -l 2. All features in tiki are switched on, anonymous group got basic privileges.

Results:

settingsTime takenmax. load
bare7:1711.5
Zend accelerator default2:2311.6
Zend accelerator 128MB2:3611.8
turck mmcache default 2:2111.4
turck mmcache 128MB2:1511.5


2nd try:

Used siege. I took the same URLs that wget crawled. 150 concurrent users:

Zend:

Copy to clipboard
Transactions: 16262 hits Availability: 100.00 % Elapsed time: 420.17 secs Data transferred: 59162949 bytes Response time: 3.44 secs Transaction rate: 38.70 trans/sec Throughput: 140807.17 bytes/sec Concurrency: 133.01 Successful transactions: 16262 Failed transactions: 0


load got up to 110


mmcache:

Copy to clipboard
Transactions: 19360 hits Availability: 100.00 % Elapsed time: 423.15 secs Data transferred: 61369649 bytes Response time: 2.87 secs Transaction rate: 45.75 trans/sec Throughput: 145030.49 bytes/sec Concurrency: 131.49 Successful transactions: 19360 Failed transactions: 0


load got up to 95.


So mmcache seems to be slightly faster. Be extremly careful while testing. siege crashed my server two times 😎

flo

History

Advanced
Information Version
Marc Laporte 16
View
Marc Laporte moving to own page 15
View
Marc Laporte This is covered on doc:eAccelerator page 14
View
Marc Laporte moving to own page 13
View
Marc Laporte removing really old stuff 12
View
Marc Laporte moving relevant stuff to own page 11
View
Marc Laporte no update for PHPA since 2005 10
View
Marc Laporte no release since 2003 9
View
Oliver Hertel 8
View
Oliver Hertel 7
View
Oliver Hertel 6
View
Oliver Hertel 5
View
Oliver Hertel 4
View
Oliver Hertel 3
View
Oliver Hertel 2
View
Oliver Hertel 1
View

Upcoming Events

1)  15 Aug 2024 14:00 GMT-0000
Tiki Roundtable Meeting
2)  19 Sep 2024 14:00 GMT-0000
Tiki Roundtable Meeting
3) 
Tiki birthday
4)  17 Oct 2024 14:00 GMT-0000
Tiki Roundtable Meeting
5)  21 Nov 2024 14:00 GMT-0000
Tiki Roundtable Meeting
6)  19 Dec 2024 14:00 GMT-0000
Tiki Roundtable Meeting