Hjälp - behöver en riktigt snabb MySQL server

Tråden skapades och har fått 41 svar. Det senaste inlägget skrevs .

Vi närmar oss 2006 och "year of intel" vilket kommer innebära enormt mycket uppmärksamhet och trafik. Det kommer kräva helt nya nivåer av besökare och trafik - och vi måste uppgradera vår serverpark därefter.

Idag har vi en dedicerad HP Proliant DL380G3 med 3GB RAM och 4x36.4GB 15.000rpm Ultra320 SCSI diskar i RAID-10 plus hotspare vilket MySQL rekommenderar i sin guide.

Vi skulle behöva ungefär tre till fem gånger så snabb server gissar jag, vad ska man köpa då? MySQL cluster? Nu talar vi om allt kunna hålla igång på Expo.

Har snackat med Apple om fem stycken Xserve G5 Cluster nodes för ett MySQL Cluster men frågan är om det är rätt väg att gå.

Det är seriös datorkraft som behövs ser jag.

Hoppas att ni förlåter en ganska oinitierad fråga från en som egentligen inte kan något om databaser: Hur väl optimerade är er MySQL-databaser ni använder nu? Jag tänkte att det kanske finns många processorcykler att spara på en optimering om det är möjligt...

Ursprungligen av Niklas Brunberg:

Det är seriös datorkraft som behövs ser jag.

Hoppas att ni förlåter en ganska oinitierad fråga från en som egentligen inte kan något om databaser: Hur väl optimerade är er MySQL-databaser ni använder nu? Jag tänkte att det kanske finns många processorcykler att spara på en optimering om det är möjligt...

Du får gärna utveckla detta vidare - jag tycker vi har riktigt bra cache rate i Query cache exempelvis. Kör "optimize/repair" med jämna mellanrum. Problemet är att forumet är så dynamiskt vilket skapar för många querys - vid expo kommer vi går ner till ett minimalt skin med så få funktioner som möjligt men det räcker ändå inte nästa gång.

(tänk dig hur många som kommer vilka diskutera Intel-macarna, det är ju inte bara gamla gänget utan kanske en helt ny målgrupp som kör PC idag!)

Ursprungligen av Björnström:

Du får gärna utveckla detta vidare - jag tycker vi har riktigt bra cache rate i Query cache exempelvis. Kör "optimize/repair" med jämna mellanrum. Problemet är att forumet är så dynamiskt vilket skapar för många querys - vid expo kommer vi går ner till ett minimalt skin med så få funktioner som möjligt men det räcker ändå inte nästa gång.

Jag kan inget mer avancerat än normalisering av databaser så det blir lite svårt att utveckla, är steget under amatör på den fronten. Jag ville bara väcka tanken hos er att om man kan koda bort en flaskhals eller två så behöver man inte investera i så mycket ny teknik...

Ursprungligen av Niklas Brunberg:

Jag kan inget mer avancerat än normalisering av databaser så det blir lite svårt att utveckla, är steget under amatör på den fronten. Jag ville bara väcka tanken hos er att om man kan koda bort en flaskhals eller två så behöver man inte investera i så mycket ny teknik...

Denna fråga är ju uppe på vBulletin.com forumet eftersom fler har samma problem som vi. Dom "stora grabbarna" har löst det med cluster eller jätteservrar. Finns en tråd för jätteforum (1 miljon inlägg eller mer) som tar upp dessa frågor.

Hör med SUN. Nu är det ett tag sedan jag hade kontakter med dom, men när det begav sig var de alltid pigga på att hjälpa till. Hur mycket var beroende på hur intressant projektet var. Jag kan så mycket att vi fick minst 10 ggr mer än den hjälp vi fick från Apple.

/Richard

Ursprungligen av Björnström:

Vi närmar oss 2006 och "year of intel" vilket kommer innebära enormt mycket uppmärksamhet och trafik. Det kommer kräva helt nya nivåer av besökare och trafik - och vi måste uppgradera vår serverpark därefter.

Idag har vi en dedicerad HP Proliant DL380G3 med 3GB RAM och 4x36.4GB 15.000rpm Ultra320 SCSI diskar i RAID-10 plus hotspare vilket MySQL rekommenderar i sin guide.

Vi skulle behöva ungefär tre till fem gånger så snabb server gissar jag, vad ska man köpa då? MySQL cluster? Nu talar vi om allt kunna hålla igång på Expo.

Har snackat med Apple om fem stycken Xserve G5 Cluster nodes för ett MySQL Cluster men frågan är om det är rätt väg att gå.

Du har inte funderat på att optimera koden istället? Istället för att köra forumprogramvara med massa olika funktioner skulle man kunna köra en enkel forumprogramvara som var riktigt resurssnål, men det kanske inte är så populärt?

Ursprungligen av Björnström:

Har snackat med Apple om fem stycken Xserve G5 Cluster nodes för ett MySQL Cluster men frågan är om det är rätt väg att gå.

Jag kan inget om servrar och databaser, men jag antar att ni har sett vad AnandTech skriver om Xserve, OS X och MySQL. Det verkar ju onekligen fel att satsa på OS X i det här sammanhanget.

http://www.anandtech.com/mac/showdoc.aspx?i=2436&p=6

Plocka ner forumet under expot och köra nån form av chat? Burkar ju ändå bara bli inlägg av "chattyp" när folk följer bevakningen? Dvs. inget som är särskilt intressant för eftervärden.

/M

Ursprungligen av Martin Belak:

Plocka ner forumet under expot och köra nån form av chat? Burkar ju ändå bara bli inlägg av "chattyp" när folk följer bevakningen? Dvs. inget som är särskilt intressant för eftervärden.

Mycket sant. Har man inte varit online under ett expo hittar man en tråd på typ 15 sidor med inlägg av typ "när händer det nåt?" och "gud vad besviken jag blir"

Ursprungligen av Martin Belak:

Plocka ner forumet under expot och köra nån form av chat? Burkar ju ändå bara bli inlägg av "chattyp" när folk följer bevakningen? Dvs. inget som är särskilt intressant för eftervärden.

/M

Jättebra idé tycker jag! Sen kan ju en moderator gå igenom loggen efteråt och skriva en kort sammanfattning.

  • Medlem
  • Stockholm
  • 2005-12-15 10:51

Håller med om chatidén men jag tror Niklas Brunberg påpekar något väldigt viktigt!
Tror det finns väldigt mycket processorkraft att spara på att göra lite tabellförändrande åtgärder. Niklas nämner normalisering men det handlar mest om att undvika rendundant data, i det här fallet handlar det snarare om att man redan har 3-4NF och därifrån koncentrerar sig på optimering av databasfrågor genom att skapa kontrollerad redundans (och frångå NF).

Om jag får se de tabeller som används och de 5 vanligaste db-förfrågningarna så kanske jag kan hjälpa till

Normalisering är typ det mest avancerade jag kan om databaser, det handlade om min (o)kunskap i det området, inte vad som behöver göras.

Använder ni någon form av cache, typ Smarty och PearDB?

Annars tycker jag ni ska sattsa på cluster med "billiga" 1U's servrar; ett kluster för databasen och ett för webbservern.

  • Medlem
  • Stockholm
  • 2005-12-15 13:03
Ursprungligen av DeeJam:

Annars tycker jag ni ska sattsa på cluster med "billiga" 1U's servrar; ett kluster för databasen och ett för webbservern.

Varför tycker du det?

Varför inte börja med att prata med MySQL själv först för att se vad de rekommenderar.
För att skriva om koden alt. byta forumprogramvara tror jag är en för stor apparat.
Visserligen blir den andra vägen dyrare men snabbare.

Jag får hoppas att vBulletin har gjort ett bra jobb ang databas byggandet när det kommer till normalisering och så vidare.
Om de inte gjort det skulle jag kräva pengarna tillbaka och byta forum programvara.

Som mattias nämner är det nog inget alternativ att optimera forumprogramvaran på egen hand. Det är oerhört komplicerat att sätta sig in hur alla queries hänger ihop. Det man kan göra är att stänga av sökfunktioner, liknande trådar, dagens-aktiva, statistik, who-is-online och liknande extrafunktioner och samtidigt köra med ett mindre grafikintensivt skin.

/M

  • Medlem
  • Stockholm
  • 2005-12-15 15:30

IDG släppte idag en artikel om att Rilspolisstyrelsen troligen byter ut Oracle mot MySQL

-Torkel

  • Medlem
  • 2005-12-15 18:14

Hur många sid-förfrågningar per sekund pratar vi om?

Ett sett att öka prestandan i ett belastat system är att utifrån databasen generera statiska html-sidor med lämpligt intervall, kanske så lite som 5 sekunder i ert fall skulle vara lagom.

Jag måste nog protestera mot idén att bara köra chat. Visst kan man köra en chat för att eventuellt minska belastningen, om det nu finns många som hellre skulle använda det sättet att kommunicera. Men jag tycker det har blivit en trevlig tradition att sitta och spamma en tråd på 99mac med kommentarer allteftersom keynoten pågår. Det är en del av 99mac.

Visst, det är trevligt. Men när keynoten är över så är det nog inte så många som är sugna på att gå igenom 10 sidor med "spam". Eller? Därför skulle en chat fungera utmärkt tycker jag.

  • Medlem
  • Stockholm
  • 2005-12-15 20:41
Ursprungligen av capojava:

Visst, det är trevligt. Men när keynoten är över så är det nog inte så många som är sugna på att gå igenom 10 sidor med "spam". Eller? Därför skulle en chat fungera utmärkt tycker jag.

Håller med, en chat/klotterplank som sedan sammanfattas av redaktör vore fullt tillfredställande.

Här är lite specifikationer att jämföra med:

http://meta.wikimedia.org/wiki/Wikimedia_servers

Operativsystem lär väl spela in också?

Har det hänt något nytt på den här fronten? Till skillnad från tidigare är jag övertygad om att Cluster inte är rätt väg att gå.

Tror man ska köpa en riktigt snabb dualcore Intel Xeon server helt enkelt. En Intel Xserve skulle ju vara najs men bara om man kör annat operativsystem än OS X Server gissar jag (pga trådningsproblemen)? Köra Windows 2003 Server på en Intel Xserve?

  • Medlem
  • Sundsvall
  • 2007-05-04 12:13
Ursprungligen av Björnström:

Har det hänt något nytt på den här fronten? Till skillnad från tidigare är jag övertygad om att Cluster inte är rätt väg att gå.

Tror man ska köpa en riktigt snabb dualcore Intel Xeon server helt enkelt. En Intel Xserve skulle ju vara najs men bara om man kör annat operativsystem än OS X Server gissar jag (pga trådningsproblemen)? Köra Windows 2003 Server på en Intel Xserve?

För MYSQL bör du köra Linux för mest prestanda, de går hand i hand. Windows och mysql är inte direkt lämpade för varandra. Sedan, felsöka windowservrar är pissigt drygt. Finns endel linuxföretag i sverige som erbjuder support också om du vill ha det.

Annars, ring till mysql ab och kolla vad de tycker du ska köra, de borde ju ha suverän koll annars.

Personligen tror jag på så snabba cpuer som möjligt med så få kärnor som möjligt.

MySQL och Windows fungerar väldigt bra ihop - jag vet eftersom vi kört det sedan 2003 - och det finns en hel del bra GUI-verktyg att använda. Har aldrig haft en hängning av servern under alla dessa år så stabiliteten är inte heller ett problem.

Linux är nog lite snabbare dock.

Du har nog helt rätt ang snabba processorer med få kärnor - den verkar inte skala upp speciellt bra över fyra kärnor.

  • Oregistrerad
  • 2007-05-21 22:03
Ursprungligen av Björnström:

MySQL och Windows fungerar väldigt bra ihop - jag vet eftersom vi kört det sedan 2003 - och det finns en hel del bra GUI-verktyg att använda. Har aldrig haft en hängning av servern under alla dessa år så stabiliteten är inte heller ett problem.

Linux är nog lite snabbare dock.

Du har nog helt rätt ang snabba processorer med få kärnor - den verkar inte skala upp speciellt bra över fyra kärnor.

Det är en ful myth att windows ska vara långsammare än linux. Om man vill få bättre prestanda på sina databaser kan man ju:

* Optimera sina SQL satser, köra "pre-querys" och lagra dom så man slipper köra jobbiga i realtid om det inte krävs.
* Skaffa mer minne - MYSQL mumsar gott i sig massa ram om du har stora databaser
* Snabbare disk - Också mycket trevligt då MySQL (MyISAM) lagar databaserna i filsystemet
* Fetare CPU (Desto fetare singel-proppp desto bättre). Även om MySQL är trådat bra så är det ändå bättre med råbprestanda.
* Cluster. MySQL ligger lite efter för att skapa cluster. Skulle också undvika det (Du kan ju dock ha en som backup). Ska du köra cluster måste du ha tre servrar (master + 2 slavar)

Beställde en Intel Xeon 2.8GHz för Proliant på eBay och idag landade den i brevlådan. Blir intressant att testa!

Sitter och funderar på om det har hänt något med prestanda problemen på OS X med MySQL... Hittade denna artikel hos Apple:

http://docs.info.apple.com/article.html?artnum=303225

Har den löst detta problem?

Någon som kan verifiera?

Bevaka tråden