WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   Prestanda LAMP (https://www.wn.se/forum/showthread.php?t=20165)

DeSoto 2007-03-25 12:10

Gör det som är mest läsbart. Att lägga all HTML i echo blir antagligen inte speciellt läsbart. Att fundera på vilket av dem som är snabbast är bara för tidig optimering.

Conth 2007-03-25 19:46

Många intressanta svar, men om jag får gnälla lite så är min tråd lite kidnappad...
eller så uttrycker jag mig oklart... ;)

Om jag formulerar mig såhär;
Kan tiden det tar att framställa min sida i php påverkas av bandbredden?!

Om jag t.ex gör flush på en stor mängd data och har en taskig bandbredd så antar jag att det är sant!?!

Kan detta även ske med en echo? Dvs att servern skickar data till browsern innan min sida är färdigframställd?

FredrikMH 2007-03-26 01:22

Citat:

Originally posted by Conth@Mar 25 2007, 18:46
Många intressanta svar, men om jag får gnälla lite så är min tråd lite kidnappad...
eller så uttrycker jag mig oklart... ;)

Om jag formulerar mig såhär;
Kan tiden det tar att framställa min sida i php påverkas av bandbredden?!

Om jag t.ex gör flush på en stor mängd data och har en taskig bandbredd så antar jag att det är sant!?!

Kan detta även ske med en echo? Dvs att servern skickar data till browsern innan min sida är färdigframställd?

Jag skulle gissa på att PHP skickar tillbaka lite information till Apache allt eftersom den bearbetar en scriptfil.

Bandbredden kan påverka ladningstiden men inte hur snabbt echo exekveras.

end 2007-03-26 09:07

Vad är det för webbhotell du har? Antagligen ligger problemet där...

Conth 2007-03-26 09:11

Citat:

Ursprungligen postat av FredrikMH
Citat:

Ursprungligen postat av Conth
Många intressanta svar, men om jag får gnälla lite så är min tråd lite kidnappad...
eller så uttrycker jag mig oklart... ;)

Om jag formulerar mig såhär;
Kan tiden det tar att framställa min sida i php påverkas av bandbredden?!

Om jag t.ex gör flush på en stor mängd data och har en taskig bandbredd så antar jag att det är sant!?!

Kan detta även ske med en echo? Dvs att servern skickar data till browsern innan min sida är färdigframställd?

Jag skulle gissa på att PHP skickar tillbaka lite information till Apache allt eftersom den bearbetar en scriptfil.

Bandbredden kan påverka ladningstiden men inte hur snabbt echo exekveras.

Menar du att inte ens flush() gör så att skriptet tar längre tid att exekvera?!

flush försöker ju pusha ut data till browsern. Är det så att php-skriptet "hänger" i väntan på att flush körs eller skickas det bara vidare till apache och skriptet körs vidare direkt.

Vore intressant med någon som kan php/apache på denna nivå eller om ni har tips om någon bra länk...

Conth 2007-03-26 23:45

Gör ett försök till efter att ha undersökt lite mera...

Lite förenklat:
Jag har 2 olika sidor.
- En som är statisk med ganska mycket text (faq-sida)
- En annan som skapas dynamiskt med flera DB accesser men den resulterande sidan är ganska liten.

Jag mäter hur lång tid det tar att skapa sidan på server-sidan och kommer (överraskande!?) fram till detta:

Den statiska sidan tar 0,04 s att skapa vid lågtrafik men 0,8 s i peak.
Den dynamiska tar 0,1 s vid lågtrafik och 0,5 s i peak.

Resultatet var precis tvärtom vad jag väntade mig. Jag trodde den dynamiska sidan skulle ta mer "stryk" (med sina DB-accesser) i peak än den statistik, men resultatet är alltså tvärtom.

Därav började jag undra om bandbredden är den avgörande faktorn, vilket känns som en logisk slutsats? - dock måste då bandbredden påverka tiden det tar att skapa sidan på servern?!?
Alternativt tar det längre tid för php/apache att skapa en relativt stor sida i peak. Minnesbrist för apache?

Tacksam för synpunkter från er kunniga LAMP:are... :blink:


* edit stavning ;-)

jonny 2007-03-27 08:50

Med allra största sannolikhet beror det på belastningen på servern. Det är framförallt hur CPU och diskar är belastade.

Bandbredden bör bara påverka hur lång tid det tar att skicka över den generade informationen till dig, inte hur lång tid det tar att generera informationen.

Alltså; jag bedömer det som mycket osannolikt att bandbredden påverkar exekveringstiden för ditt script.

Conth 2007-03-27 09:06

Citat:

Originally posted by jonny@Mar 27 2007, 07:50
Med allra största sannolikhet beror det på belastningen på servern. Det är framförallt hur CPU och diskar är belastade.

Bandbredden bör bara påverka hur lång tid det tar att skicka över den generade informationen till dig, inte hur lång tid det tar att generera informationen.

Alltså; jag bedömer det som mycket osannolikt att bandbredden påverkar exekveringstiden för ditt script.

Tack för svar.
Låter helt rätt & riktigt.

Om någon har tips på optimering av just detta med CPU/disk utnyttjande tar jag tacksamt emot detta. Känns som jag har fokuserat för mycket(?) på DB optimering och för lite på det andra (eftersom sidan som skapas dynamiskt är mer "stryktålig" än den statiska...)
Kanske har gett mySql för stort minnesutrymme - ska testa att dra ner på det...

Meyer 2007-03-29 16:53

En PHP Bytecode cache ger väldigt mycket.

Danielos 2007-04-18 20:07

Jag har gjort enligt detta: http://www.webmasternetwork.se/f4t20693.html och prestandan har ökat väsentligt kan jag säga, men mer kan säkert göras och tweekas med:
AddModule mod_expires
AddModule mod_headers


Alla tider är GMT +2. Klockan är nu 23:39.

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