Missa inte! Fyndchans i Månadens Drop

Apache och mysql, 2 servrar eller uppgradera befintiga?

Permalänk

Apache och mysql, 2 servrar eller uppgradera befintiga?

Hej!

Nu är det så här att jag och en kompis driver en rätt stor community! 3000 användare cirka. Och just nu kör vi med en billig AMD X2, 2GB RAM och Linux på en 100 Mbit-privatlina. Men vi märker att det går trögt på helgerna och vissa dagar.

Load average kan vara upp till 12 ibland.

Load average: 12.07 12.30 11.78.

Servern är alltså väldigt seg.

Nu instämmer jag det kommer gå bättre med 2 servrar, man kör MySQL på en, och Apache på den andra. Men min kompis tror att "en" QUAD cpu är bättre än 2 servrar. Vad tror ni? Jag tror att loaden är hög, för att både MySQL och Apache ska skriva till hårddisken. Det blir en liten "krock".

Synpunkter är välkomna.

Visa signatur

Gigabyte-P35-DS4 | Intel Core 2 Quad Q6600 [3 GHz] | 2x1GB Corsair XMS-6400@800Mhz | Nvidia Geforce 460 GTX [975/2000 MHz] | Intel 320 Series 80 GB SSD | | SETI@Home Team: Sweclockers.com

Permalänk

Varför ska Apache skriva på disken? Jag tror ni tjänar mer på att lägga ner lite tid på att profilera eran applikation ni kör på servern istället för att köpa mer hårdvara.

Permalänk
Avstängd

Svårt att veta om det är CPU load som är hög, eller disk I/O som är hög.

Två servar hjälper säkert. Quad-core hjälper säkert. RAID hjälper säkert.

Har sett att vissa väljer att köra websiten och script från Apache, men att serva bilder från Lighttpd eller Nginx.

Ni kanske kan aktivera någon cache, slå på gzip compression, använda någon PHP cacher, etc.

Permalänk
Medlem

nginx, XCache, memcached är några förbättrningar ni kan försöka med.

Cpu/hårddisk behövs förbättras. Men har du kollat hur mkt som av brandbreden som används? Kanske inte långt kvar till toppen.

Permalänk
Citat:

Ursprungligen inskrivet av hagbarddenstore
Varför ska Apache skriva på disken? Jag tror ni tjänar mer på att lägga ner lite tid på att profilera eran applikation ni kör på servern istället för att köpa mer hårdvara.

Hej, tack för ditt svar! Jag menar givetvis att Apache antingen läser och/eller skriver. Apache använder ju disken iallafall. Att konstruera om websajten och databasen har jag noll koll på.

Vi har en färdig lösning med vBulletin. Att trixa med lighttpd (statiskt) och Apache för andra ändamål, sånt går att fixa i och för sig, och sånt klarar jag av.. Vi kör redan med lighttpd idag.

Kan inte svara på om det är CPU eller disk I/O som tar emot. Någon annan lösning vore mycket uppskattat. Load runt ~12 på en stor community, är väl inte det bästa.

(Jag har försökt optimerat så mycket som möjligt.. så vad skulle ni ha gjort? Vore intressant och höra. )

Visa signatur

Gigabyte-P35-DS4 | Intel Core 2 Quad Q6600 [3 GHz] | 2x1GB Corsair XMS-6400@800Mhz | Nvidia Geforce 460 GTX [975/2000 MHz] | Intel 320 Series 80 GB SSD | | SETI@Home Team: Sweclockers.com

Permalänk

Du kan ju alltid köra top när det är högtryck och se om CPUn maxas konstant. Om den inte gör det så kan man nog börjar skälla en del av prestandaproblemen på långsam I/O.

Visa signatur

"to conquer others is to have power, to conquer yourself is to know the way"

Permalänk
Medlem

Det är grymt svårt att ge specifika råd om sånt här då det finns för många variabler som påverkar det hela. Dock tycker jag spontant att det låter som eran mjukvara (och då menar jag eran community) kanske är ineffektiv och kan behöva optimeras. Men det är bara min spontana åsikt. Utan åtskilligt mer info är det svårt att ge konkreta tips.

Tycker dock att en X2 med de specifikationerna borde klara av det där. Jag kör själv min server på en Sempron 2500+ (inte direkt värsting, nej, men snart blir datorn en Phenom) och har flertalet domäner med Apache/MySQL. Min egen blogg som ligger på den får ju omkring 5000 unika besökare per dag, och jag kör ingen cache-mjukvara eller liknande så varje besök genereras dynamiskt. Känner inte att den säckar ihop under bördan heller, load ligger sällan på mer än omkring 1.3 och då är det mest för att jag kör Seti@home på den i en hårt nice'ad bakgrundsprocess. Stänger jag av det ligger load på omkring 0.3-0.5.

Visa signatur

Min andra dator är en IBM 709
If there was hope, it must lie in the proles, because only there, in those swarming disregarded masses, eighty-five percent of the population of Oceania, could the force to destroy the Party ever be generated.

Permalänk
Citat:

Ursprungligen inskrivet av isecore
Det är grymt svårt att ge specifika råd om sånt här då det finns för många variabler som påverkar det hela. Dock tycker jag spontant att det låter som eran mjukvara (och då menar jag eran community) kanske är ineffektiv och kan behöva optimeras. Men det är bara min spontana åsikt. Utan åtskilligt mer info är det svårt att ge konkreta tips.

Tycker dock att en X2 med de specifikationerna borde klara av det där. Jag kör själv min server på en Sempron 2500+ (inte direkt värsting, nej, men snart blir datorn en Phenom) och har flertalet domäner med Apache/MySQL. Min egen blogg som ligger på den får ju omkring 5000 unika besökare per dag, och jag kör ingen cache-mjukvara eller liknande så varje besök genereras dynamiskt. Känner inte att den säckar ihop under bördan heller, load ligger sällan på mer än omkring 1.3 och då är det mest för att jag kör Seti@home på den i en hårt nice'ad bakgrundsprocess. Stänger jag av det ligger load på omkring 0.3-0.5.

Hej isecore! Trevligt inlägg där.. var matnyttigt, tack. Så du sitter ungefär i samma situation då (jag har också flera domäner), fast just denna domän/community - är jättestor*

Du har 1.3 i load, med dina 5000 besökare. Vi har säkert 100.000 unika per dag. CPU:n går i ständigt 97.8%. Enligt forumet är det alltid minst 1000 medlemmar online, varje sekund.

Så visst är det belastat. Men egnentligen kanske det inte spelar nån roll om man kör 2 Dual-cores, istället för 1 Quad? Hur som helst, blir det mer prestanda.
Att hålla på fixa databasen, med queries m.m, klarar inte jag av.

http://movie-forumz.org är sidan. Inte menat som reklam eller dylikt.. Vissa tider på dygnet går sidan bra. Vi kör brandvägg. Så det lutar åt en till maskin, kanske? 1 till maskin, eller quad.. kul med respons. Skriv gärna mer.

Visa signatur

Gigabyte-P35-DS4 | Intel Core 2 Quad Q6600 [3 GHz] | 2x1GB Corsair XMS-6400@800Mhz | Nvidia Geforce 460 GTX [975/2000 MHz] | Intel 320 Series 80 GB SSD | | SETI@Home Team: Sweclockers.com

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av Googlah
Hej isecore! Trevligt inlägg där.. var matnyttigt, tack. Så du sitter ungefär i samma situation då (jag har också flera domäner), fast just denna domän/community - är jättestor*

Du har 1.3 i load, med dina 5000 besökare. Vi har säkert 100.000 unika per dag. CPU:n går i ständigt 97.8%. Enligt forumet är det alltid minst 1000 medlemmar online, varje sekund.

Så visst är det belastat. Men egnentligen kanske det inte spelar nån roll om man kör 2 Dual-cores, istället för 1 Quad? Hur som helst, blir det mer prestanda.
Att hålla på fixa databasen, med queries m.m, klarar inte jag av.

http://movie-forumz.org är sidan. Inte menat som reklam eller dylikt.. Vissa tider på dygnet går sidan bra. Vi kör brandvägg. Så det lutar åt en till maskin, kanske? 1 till maskin, eller quad.. kul med respons. Skriv gärna mer.

Okej, det var ju liiiite mer besökare än mig

Dock säger mig min instinkt och erfarenhet att man i första hand bör titta på mjukvaran, se om det går att optimera ytterligare där. Men om man har pengar att uppgradera för så är det ju definitivt inte någon dum investering. Varje gång det blir tal om om hur man ska fördela bördan brukar jag tänka på ett citat som Seymour Cray sa - "Om man behöver dra ett tungt lass, vad föredrar man då? En stor rejäl oxe eller 1024 hönor?"

Jag hade mest troligt lagt mina resurser på att bygga en riktigt fet server och köra det hela på, istället för att dela upp det på två inte lika frustande saker. Men det är återigen min instinkt och erfarenhet som rekommenderar detta - de gånger jag haft separata databas och webserver-maskiner har det blivit en del bök med att få dessa att prata med varandra. Kanske jag som gjort nåt tokigt, men så ligger det till.

Vidare hade jag definitivt tittat på nåt slags cache. Jag gissar att ni kör allting direkt ut mot nätet, och att vid varje anrop så måste den sidan genereras dynamiskt? Isf skulle en cache som håller statiska länkar i minnet dramatiskt minimera bördan. Bara en tanke...

Visa signatur

Min andra dator är en IBM 709
If there was hope, it must lie in the proles, because only there, in those swarming disregarded masses, eighty-five percent of the population of Oceania, could the force to destroy the Party ever be generated.