FAQ |
Kalender |
![]() |
#1 | |||
|
||||
Klarade millennium-buggen
|
Har börjat att titta lite på att optimera min Apache 1.3 med AddModule mod_expires mod_headers och mod_cache och jag har faktiskt kommit en bit och det går mkt bättre nu enligt denna sida som jag hittade: http://www.websiteoptimization.com/speed/tweak/cache/
Någon som har mer erfarenhet av detta och har något kul att lära ut? |
|||
![]() |
![]() |
![]() |
#2 | ||
|
|||
Medlem
|
Optimering av Apache gav inte mig speciellt mycket. Det är klart, det hjälpte ju en del med mod_cache och att använda gz-compression för php.
Det som gjorde betydande skillnad var när jag installerade thttpd vid sidan om apache och har den till att servera statiskt innehåll (främst bilder). Thttpd kräver inte i närheten så mycket resurser som apache så det gjorde en hel del. Nackdelen är väl att den måste köra på en annan port eller annat ip. Jag har www.mindoman.se som kör i apache och static.mindoman.se som kör i thttpd. Vidare cachar jag sql-querys, resultat från php-klasser och hela block och sidor i memcached. Det går åt en del RAM men det är det värt. |
||
![]() |
![]() |
![]() |
#3 | ||
|
|||
Medlem
|
En annan grej är ju annars att köra APC eller liknande för att cacha bytekoden för PHP. Av detta slipper PHP-tolken parsa alla filer hela tiden och sparar således prestanda. Jag använder även APC för att cacha hela sidor i minnet (liknande memcached). Sedan är det ju viktigt att man indexerar sina databaser rätt och att databasfrågorna använder dessa korrekt.
http://se2.php.net/apc |
||
![]() |
![]() |
![]() |
#4 | |||
|
||||
Klarade millennium-buggen
|
Tack för tipset med apc! Det ska jag prova, dock har jag redan nu märkt stor skillnad med mod_expires mod_headers i httpd.conf
Nu har jag sett att det finns eaccelerator, http://www.debianadmin.com/php-cache-accel...-tutorials.html någon som har erfarenhet? |
|||
![]() |
![]() |
![]() |
#5 | |||
|
||||
Klarade millennium-buggen
|
Installerade apc nu och vilken skillnad! Tack för tipset!
|
|||
![]() |
![]() |
![]() |
#6 | ||
|
|||
Medlem
|
Citat:
Jag använder följande två funktioner när jag vill åstadkomma detta: Kod:
function startCommonCache($file, $extend = "") { if(CACHE) { if($page = apc_fetch("PAGE::" . $file . $extend)) { echo $page; designFoot(); exit; } ob_start(); } } function stopCommonCache($file, $extend = "") { if(CACHE) { apc_store("PAGE::" . $file . $extend, ob_get_flush(), 900); } } På en vanlig sida kan man därefter använda dessa. Exempel: Kod:
// inkludera filer här startCommonCache(__FILE__); // hämta massa data från databasen och skriv ut resultatet stopCommonCache(__FILE__); designFoot(); Jag tycker det är ett rätt lätt sätt att hantera cache, faktiskt. Det kanske går att förbättra, men jag tycker det fungerar rätt bra. Fast jag är så klart mottaglig för kommentarer. |
||
![]() |
![]() |
![]() |
#7 | |||
|
||||
Medlem
|
Citat:
Jag har använt båda (använder eaccelerator nu då det är det enda som stödjer PHP 5) och det fungerar otroligt bra. Det kan öka prestandan många gånger om så prova det du. |
|||
![]() |
![]() |
![]() |
#8 | |||
|
||||
Klarade millennium-buggen
|
Har testat eaccelerator nu och eaccelerator verkar faktiskt fungera bättre nu än apc i ubuntu. En av mina servrar låg på en load på 15-20 och ligger nu på otroliga 2-3
|
|||
![]() |
![]() |
![]() |
#9 | ||
|
|||
Medlem
|
Citat:
|
||
![]() |
![]() |
![]() |
#10 | ||
|
|||
Mycket flitig postare
|
Citat:
där 8080 är porten. |
||
![]() |
![]() |
Svara |
|
|