Kom ihåg mig?
Home Menu

Menu


Prestanda LAMP

 
Ämnesverktyg Visningsalternativ
Oläst 2007-03-23, 10:55 #1
Conths avatar
Conth Conth är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Aug 2005
Inlägg: 908
Conth Conth är inte uppkopplad
Mycket flitig postare
Conths avatar
 
Reg.datum: Aug 2005
Inlägg: 908
Hej,

Brottas med en sajt som får dåliga svarstider vid hög belastning. För att hitta vilka sidor som tar tid att ladda har jag mätt (mha microtime()) i php när skriptet startar och när det är klart. Jag har då märkt kopplingen att det tar längre tid att skapa en sida i php ju större sidan är. Det är ju i sig inget konstigt, men jag trodde nog att mitt problem mer var relaterat till databasaccesser, dva att sidor med mycket accesser tog tid att skapa men det huvudsakliga problemet verkar vara relaterat till den skapade sidans storlek.

Har länge misstänkt att vi inte riktigt får den bandbredd (via webhotellets serverhall) som vi behöver. Svårt att fastställa då vi (förutom vår garantinivå) har tillgång till en delad pool.

Nu till min fråga:
Tar det längre tid för mig att köra echo() i mitt php-skript om jag har taskig bandbredd!? Kan inte tänka mig att det är så men jag är osäker på hur samarbetet sker mellan php-apache-browsern.

Är förklaringen annars "bara" att php/apache tar mer tid/resurser för att skapa en "stor" sida? Jag hade nog trott att resursåtgången för att göra echo på 10k skulle skilja sig marginellt mot att göra echo på 1k!?!

Kan tillägga att jag har testat cache:ad output utan att märka någon förbättring.
Conth är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-03-23, 11:07 #2
eliasson eliasson är inte uppkopplad
Bara ett inlägg till!
 
Reg.datum: Dec 2005
Inlägg: 1 863
eliasson eliasson är inte uppkopplad
Bara ett inlägg till!
 
Reg.datum: Dec 2005
Inlägg: 1 863
Förstod inte ett skit faktiskt när jag läste men tänk på att använda echo "foo"; istället för echo("foo"); eftersom echo() tar längre tid om man ska börja prata benchmark.
eliasson är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-03-23, 11:30 #3
Conths avatar
Conth Conth är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Aug 2005
Inlägg: 908
Conth Conth är inte uppkopplad
Mycket flitig postare
Conths avatar
 
Reg.datum: Aug 2005
Inlägg: 908
Ja otydligt skrivet av mig vi använder: echo "foo";
Conth är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-03-23, 15:05 #4
hnn hnn är inte uppkopplad
Banned
 
Reg.datum: Mar 2004
Inlägg: 2 587
hnn hnn är inte uppkopplad
Banned
 
Reg.datum: Mar 2004
Inlägg: 2 587
Tänk även på:

echo "foo";

tar längre tid än

echo 'foo';

Samt..

echo 'foo' . $bar . '
';

tar längre tid än

echo 'foo' , $bar , '
';
hnn är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-03-23, 18:23 #5
Westmans avatar
Westman Westman är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Jun 2004
Inlägg: 4 021
Westman Westman är inte uppkopplad
Klarade millennium-buggen
Westmans avatar
 
Reg.datum: Jun 2004
Inlägg: 4 021
Citat:
Originally posted by hnn@Mar 23 2007, 16:05
echo 'foo' . $bar . '
';

tar längre tid än

echo 'foo' , $bar , '
';
Det var nytt för mig men väldigt nyttigt. Tack!
Westman är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-03-24, 10:20 #6
boenas avatar
boena boena är inte uppkopplad
Flitig postare
 
Reg.datum: Sep 2005
Inlägg: 416
boena boena är inte uppkopplad
Flitig postare
boenas avatar
 
Reg.datum: Sep 2005
Inlägg: 416
Japp nytt för mig också. Man tackar
boena är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-03-24, 10:40 #7
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
Jag vet inte. Jag kan givetvis ha fel, men det känns som att den optimeringen inte gör särskilt mycket så till vida att man inte har jättemånga echo-anrop. Det finns många andra sätt att optimera, bland annat att skriva korrekta databasfrågor (och ha en bra databaslayout) och använda cache.
fors är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-03-24, 12:52 #8
DeSotos avatar
DeSoto DeSoto är inte uppkopplad
Flitig postare
 
Reg.datum: Oct 2005
Inlägg: 323
DeSoto DeSoto är inte uppkopplad
Flitig postare
DeSotos avatar
 
Reg.datum: Oct 2005
Inlägg: 323
Kan nästan garantera att de vinster man gör på att anropa echo utan paranteser, eller om man använder citationstecken/apostrofer är ingenting som man märker av. Det blir som en piss i Atlanten jämfört med en databasfråga. Som fors sa, så är det oftast databasfrågor, db-layout och cache som är flaskhalsen. PHP i sig är rätt snabbt, man ska skriva rätt rejält taskig kod/inkludera hela världen för att det bara pga det ska bli långsammare.
DeSoto är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-03-24, 12:55 #9
grazzy grazzy är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Mar 2004
Inlägg: 3 471
grazzy grazzy är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Mar 2004
Inlägg: 3 471
Du säger att ju större sidan är desto längre tid tar den att ladda conth, det får mig onekligen att fundera på om det inte är så att det är cpun som är flaskhalsen.

Nu har jag inte direkt i i huvudet huruvida php interpreterar all "tänkbar" kod som skall köras till binärformat eller om den gör det allteftersom, men du borde testa att slänga in en av de många binär-cachnings-moduler till php för att se om det hjälper.
grazzy är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-03-24, 15:21 #10
boenas avatar
boena boena är inte uppkopplad
Flitig postare
 
Reg.datum: Sep 2005
Inlägg: 416
boena boena är inte uppkopplad
Flitig postare
boenas avatar
 
Reg.datum: Sep 2005
Inlägg: 416
Vilket är ur prestandasynpunkt bäst när det gäller att lägga in html kod?

Är det bättre att avsluta php-taggen och lägga in html-koden efter den och sen öppna en ny php-tagg för att fortsätta eller ska man köra på en php-tagg som löper över hela sidan och sedan lägga html-kod i echo?
boena ä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 01:30.

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