LinkoManija valgo daug, o ją veža dar daugiau

lmbox

Projektas, prie kurio aš dirbu laisvalaikiu, yra LinkoManija. Tiek daug galima išmokti iš inovacinių sprendimų technologijoms. Kylant vartotojų skaičiui, nuolatos darome geležies atnaujinimus. Paskutinės savaitės praleistos konfigūravimuose, testavimuose pagaliau privedė prie naujų aukštumų. Sistemą papildė papildomi serveriai, kurie buvo puikiai sukonfigūruoti vykdyti jiems paskirtą misiją – be jokių lūžių vežti LinkoManijos vartotojus.

Taigi, dabar turime dar stabilesnę ir saugesnę sistemą, kuri susideda iš 7 serverių. Smalsuoliams galima pasakyti, kad dabar naudojame virš 40 GB RAM. Pilnos serverių konfigūracijos:

WWW serveriai:
W1: 2x Dual Core Xeon 2.8GHz/4MB – 2GB ECC DDR – 73 GB SCSI 15k RPM
W2: 2x Intel Quad-Core Xeon E5410 2.33GHz/12MB L2/1333MHz FSB – 6GB RAM – 73 GB SCSI 15k RPM
W3: 2x Intel Quad-Core Xeon E5410 2.33GHz/12MB L2/1333MHz FSB – 6GB RAM – 73 GB SCSI 15k RPM

Statinio turinio serveriai:
S1: AMD Athlon(tm) 64 Processor 3000+ – 2GB DDR2 – 80GB SATA HD
S2: 2x Intel Quad-Core Xeon E5410 2.33GHz/12MB L2/1333MHz FSB – 8GB RAM – 73 GB SCSI 15k RPM

Duombazės serveriai:
D1: 2x Intel Quad-Core Xeon E5410 2.33GHz/12MB L2/1333MHz FSB – 12GB RAM – 5×73 GB SCSI 15k RPM
D2: 2x Intel Quad-Core Xeon E5410 2.33GHz/12MB L2/1333MHz FSB – 8GB RAM – 73 GB SCSI 15k RPM

LinkoManija yra puikus technologinis iššūkis visiems prisidėjusiems vartotojams prie projekto.

10 komentarų

  1. Atgalinis pranešimas: Blogorama #560
  2. kazkodel turiu ispudi, kad ten tiek ramu nereik, ir puse jus stovi be darbo :) nesigincysiu, bet taip man atrodo.. mano serveriai yra 8CPU, 16 GB ram, is kuriu tik 7GB naudojami, o servakai produkciniai, ir droziami uch kaip :)

  3. Tai ir yra vienas iš projekto nuostabiausių dalykų. Retai, kada realiame gyvenime gali tekti tokia proga padirbėti prie galingų sistemų. Nors dabar žiūrint į tai ką naudoja LM’as teko matyti, bet matyti „mainframes“ naudojami dar galingesnėms užduotims ir susidoroja. Matyt pritaikius geresnius „load balancing“ sprendimus, DB optimizacijas, „front-end“ optimizacijas, arhictektūros, kešinimo sprendimus būtų sutaupyta 20%, 30%, gal net ir 40% turimų resursų. Didėjant vartotojų skaičiui matyt galiausiai vistiek reikės pereiti į naują lygį (C/C ir aukštoji matematika).

    Matosi, kad LM stengiasi dirbti teisingai. Bet tarkim kiek paskutinį kartą teko matyti LM’o kodo vartotojo interfeisas sukasi ant PHP, ką matyt reikėtų pertvarkyti kai toks vartotojų kiekis. Geriausia būtų savą su C/C parašyti, bet matyt projektas dar nepasiekė tokio lygio. Galbūt čia būtų protinga panaudoti kažką panašaus kaip Neko virtualią mašiną? Jeigu gerai prisimenu tai jau 20-30 kartų geriau veikia. Pati sistema sukasi ant XBT kiek prisimenu tad tikriausiai naudojate MySQL iki šiol, kas nėra pats geriausias draugas kalbant apie didelius duomenis. Kalbant apie didelius kiekius (Duomenis galime skaičiuoti 10GB, 100GB ir toliau) reikia smarkiai optimizuoti duomenų bazes, reikia žinoti jų mechaniką, fizinį ir loginį lygius. Galbūt verta pažiūrėti į Oracle? Jis sukasi kaip stora karvė, bet optimizuoti užklausas pas jį galima aukščiausiame lygyje, didėjant duomenims jis skraidys. Ir taip toliau…

  4. jūsų ‘inovaciniai sprendimai’ tai čia kuo daugiau geležies naudot?

    aišku gerai, kad yra pilna šaunuolių kurie žino, kaip veikia meinfreimai, ir kaip viską su C perrašyt, bet aš čia biškį paskaičiuosiu ant nosinės.

    paprastas 2xquadcore serveris gali liuosiai pavežt >500 dinamiškų užklausų per sekundę (esant protingam, ne itin išpūstam kodui). kiek pageviewsų jūs darot, kad reikia tiek web serverių?

    atidavinėt statinį turinį galima beveik su nulinėm CPU sanaudom (nginx, lighttpd, etc) – kam dar du atskiri serveriai? ar ten pas jus terabaitai jo?

    kas per asimetrija su duomenų bazėm – vienas serveris su vienu disku, kitas su penkiais, gal dar penktą raidą naudojat? :) kokie pas jus aktyvūs duomenų kiekiai?

    papasakokit geriau apie inovacijas (jų gi taip trūksta šiais laikais), o ne kaip švaistot resursus :-)

    o davidui – gali nešnekėt, tai nešnekėk. gaila žiūrėt kiek priteršei interneto vien vienu komentaru. 10GB tau didelis duomenų kiekis? labai gerai žinai oracle loginius ir fizinius lygius? :) kažkaip man tenka abejot tamstos kompetencija ar elementariu suvokimu šitoj srity (kol kas nors neapšaukė – turiu keletos terabaitų mysql’inį deploymentą, konsultavau ne vieną).

  5. Labas Domai,
    Aisku, kad optimizuoti yra kur ir ypac, kai esi sios srities specialistas.

    Apie resursu sunaudojimus tikrai nereikia taip drastiskai rasyti nezinant musu sistemos paslapciu. Taip pat papuolame i aleksos top 20 lankomiausiu LT, atvertimu skaiciaus irgi nezinai.

    Pirmas espektas, kad cia panaujinta sistema ir logiska, kad ji padaryta su atsarga ir ne menesiui, o gal net ir papildomiems 100 000 vartotoju.
    Antra, redundaci reikalauja irgi kazkiek resursu
    Trecia, kaip mynejau yra daug isimciu kuriu negalime atskleisti, del tiklapio saugumo. Ten kur jie randasi irt.t daug aspektu

    Lengva yra expertui kuris dirba su wikipedia, bei mysql nuolatos optimizuoja sneketi, o mes savamoksliai, viska mokiedamiesi nuo 0 mus tai yra nuostabi patirtis ir isukis.

    Jeigu lyginto nuo projekto pradzios, ir kai atejo keli programuotojai, tai serveriu apkrova optimizavome virs 70%

    Dekui, ka lankaisi pas mus, tikiu, kad da 70% optimizuoti galima butu, bet kaip hobis ir skiriant tiek laiko manau rezultatai neblogi.

    Rasau is telefono, tai klaidu duagiau nei iprasta

    Laukiame prisidedant prie projekto

  6. tai kad aš net pakvietimo neturiu :-)

    o šiaip tai sakau – man įdomūs visi inovatyvūs sprendimai, o ne serverių galingumas (nors aišku, gal tikslinei auditorijai įdomu žiūrėt į gigabaitus :)

    tiesiog prisižiūrėjęs į programinę įrangą, kurioje pilna žemai kabančių vaisių, ir kur žmonės pridejinėja vis daugiau resursų – sunku tada nešokinėt..

    o šiaip – tikrai taip, nežinau jūsų duomenų kiekių, atvertimų, etc – tad daug sunkiau viską vertint.

Komentavimo galimybė išjungta.