18. november 2003 - 12:56Der er
9 kommentarer og 1 løsning
Utrolig langsom webserver
Hej folkens
Jeg har et website som jeg skal til at udbygge og opdatere mm. Til det formål har jeg sat en server op, med en kopi af alle script filerne og databasen etc., som jeg kan bruge til at udvikle på.
Script filerne er PHP, og databasen er MySQL. Serveren er en P4 med 512 Ram, og Suse 8.2 som OS, og den står på en 4mbit forbindelse.
Så er problemet at det går meget sløvt for sig. Dvs, at når man kommer ind på index siden, køre det fint nok. Men så snart at man har logget ind på siden, går det hele bare rigtig langsomt.
Når man logger ind på siden, reg. den en session, jeg overvejer om det evt. kan være det som ikke er sat ordenligt op på serveren.
det er ikke så meget at gå efter; så nogle generelle pointer kunne være:
* benytter du dig af en form for connection pooling til DB fra PHP * kan der være nogle skrive rettigheder som ikke er sat * kan der være noget dns som ikke virker korrekt og den derfor skal time ud på først. * har du kørt top/sar når du anvender maskinen og set om du belaster maskinen - selvom det er en stor maskine så kan dårlig kode jo lægge selv meget store maskiner ned
Connection pooling? Hvad menes der her? - Skrive rettigheder - De burde være sat ordenligt. Man kan komme ind på siden og hive data ud fra db'en. Det går bare langsomt :)
- Jeg ved ikke om det har noget DNS'en at gøre. Det jeg ved er at jeg har IP som peger direkte på min maskine. Men jeg har lige prøvet at gå ind på siden lokalt, men det går stadig ligeså langsomt.
- Når jeg er inde på siden, og den står og tykker på at hive en side frem, kan jeg se at den i top svinhger mellem 99,8 - 100 % idle.
Det skal lige siges at den samme DB og de samme script filer køre fint på den server som står hos vores udbyder.
connection pooling er et stykke software som ligger og holder nogle forbindelser åbne til databasen konstant - når dit program så skal bruge en forbindelse så tager den een fra "pølen" istedet for at oprette en ny forbindelse.
har du prøvet at lave nogle test-sider i php (f.eks. åbner forbindelsen til en database, henter noget data ud) og se om de virker langsomme ?!!? det er som regel lidt nemmere at debugge noget kode som ikke er så stort og som du har kontrol over.
Har du set i webserverens logfiler om den skriver noget brugbart ?
Prøvede lige med et simpelt script som henter 1 row ud af en tabel med kun den éne row, og det kørte som smurt når man ikke var logget ind på siden, men når man var tager det ca. ½ - 1 minut at hente siden frem.
det kommer an på hvor belastet din forbindelse til databasen er - jeg gætter på at hvis det kun er en udviklingsserver og du er den eneste så er det nok ikke der problemet er.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.