Kom ihåg mig?
Home Menu

Menu


Optimera Apache 1.3/2.0

 
Ämnesverktyg Visningsalternativ
Oläst 2007-04-18, 20:04 #1
Danieloss avatar
Danielos Danielos är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Oct 2005
Inlägg: 3 102
Danielos Danielos är inte uppkopplad
Klarade millennium-buggen
Danieloss avatar
 
Reg.datum: Oct 2005
Inlägg: 3 102
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?
Danielos är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-04-27, 10:24 #2
mbomelin mbomelin är inte uppkopplad
Medlem
 
Reg.datum: Feb 2004
Inlägg: 248
mbomelin mbomelin är inte uppkopplad
Medlem
 
Reg.datum: Feb 2004
Inlägg: 248
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.
mbomelin är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-04-27, 23:51 #3
fors fors är inte uppkopplad
Medlem
 
Reg.datum: Aug 2006
Inlägg: 131
fors fors är inte uppkopplad
Medlem
 
Reg.datum: Aug 2006
Inlägg: 131
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
fors är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-04-28, 17:13 #4
Danieloss avatar
Danielos Danielos är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Oct 2005
Inlägg: 3 102
Danielos Danielos är inte uppkopplad
Klarade millennium-buggen
Danieloss avatar
 
Reg.datum: Oct 2005
Inlägg: 3 102
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?
Danielos är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-04-28, 20:22 #5
Danieloss avatar
Danielos Danielos är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Oct 2005
Inlägg: 3 102
Danielos Danielos är inte uppkopplad
Klarade millennium-buggen
Danieloss avatar
 
Reg.datum: Oct 2005
Inlägg: 3 102
Installerade apc nu och vilken skillnad! Tack för tipset!
Danielos är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-04-28, 23:19 #6
fors fors är inte uppkopplad
Medlem
 
Reg.datum: Aug 2006
Inlägg: 131
fors fors är inte uppkopplad
Medlem
 
Reg.datum: Aug 2006
Inlägg: 131
Citat:
Originally posted by danielos@Apr 28 2007, 20:22
Installerade apc nu och vilken skillnad Tack för tipset
Japp. Det är en viss skillnad. Ett tips är att cachelagra förstasidan och andra liknande sidor i APC också, dvs i minnet.

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);
    }
}
CACHE är en konstant som anger om det skall cachas och sådär (är satt till false på utvecklingssiten och true på den vanliga siten). designFoot är en funktion som skriver ut designfoten (bl.a sidpanelen som inte skall cachas). TTL (time to live) är satt till 900 sekunder. $extended använder jag till om det behövs mer info, såsom information från GET.

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();
Givetvis kan typ använda debug_ backtrace-funktionen för att få reda på från vilken fil funktionen anropades ifrån istället för att skicka med det som parameter.

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.
fors är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-04-29, 09:46 #7
chrizzs avatar
chrizz chrizz är inte uppkopplad
Medlem
 
Reg.datum: Aug 2004
Inlägg: 296
chrizz chrizz är inte uppkopplad
Medlem
chrizzs avatar
 
Reg.datum: Aug 2004
Inlägg: 296
Citat:
Originally posted by danielos@Apr 28 2007, 17:13
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?
Eaccelerator (http://eaccelerator.net/) är en vidareutveckling av det gamla turck mmcache (som numera är nedlagt)

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.
chrizz är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-05-05, 21:36 #8
Danieloss avatar
Danielos Danielos är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Oct 2005
Inlägg: 3 102
Danielos Danielos är inte uppkopplad
Klarade millennium-buggen
Danieloss avatar
 
Reg.datum: Oct 2005
Inlägg: 3 102
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
Danielos är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-09-13, 16:36 #9
tomisak tomisak är inte uppkopplad
Medlem
 
Reg.datum: Jan 2004
Inlägg: 53
tomisak tomisak är inte uppkopplad
Medlem
 
Reg.datum: Jan 2004
Inlägg: 53
Citat:
Originally posted by mbomelin@Apr 27 2007, 10:24
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).

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.
Kan någon förklara hur man enklast skickar requests till static.mindoman.se till en specifik port?
tomisak är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-09-13, 17:58 #10
Oskar Lindgren Oskar Lindgren är inte uppkopplad
Mycket flitig postare
 
Reg.datum: May 2004
Inlägg: 520
Oskar Lindgren Oskar Lindgren är inte uppkopplad
Mycket flitig postare
 
Reg.datum: May 2004
Inlägg: 520
Citat:
Originally posted by tomisak@Sep 13 2007, 16:36
Kan någon förklara hur man enklast skickar requests till static.mindoman.se till en specifik port?
http://static.mindoman.se:8080/en-mapp/en.bild.png

där 8080 är porten.
Oskar Lindgren är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 16:30.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017