Colectarea de statistici de sesiuni de jocuri, pe un exemplu de site (istorie de creare)

Mai întâi am folosit unul, apoi altul, cel de-al treilea, dar ceva nu ne-a convins tot timpul. Și într-un anumit moment, am realizat că niciuna din aceste resurse nu ne poate oferi ceea ce este necesar. Și apoi a fost decis să-și facă propriile sale.







Numele nu a venit nici măcar, au găsit în bins domeniul kttc.ru cumpărat în avans și a decis astfel să fie.

Ce vrem din proiect?

Am avut nevoie de informații despre modul în care am jucat pentru ultima sesiune de joc. Odată cu afișarea indicatorilor modificați, creșterea sau scăderea acestora.

Am decis că vom arăta toate evaluările existente la acel moment și le vom completa pe măsură ce noi le vom lansa.

Nu mai aveam nevoie de altceva, făceam un proiect pentru noi înșine.

De asemenea, designul, fără abur, a făcut totul cât mai simplu posibil, pentru a nu fi distras de detalii inutile.

Pe principala a existat o singură expresie "Imediat ce, așa odată".

Primul server, care nu a mai fost amintit, a fost cel mai ieftin care putea fi găsit. pentru că prezența anticipată a fost: 1-2 vizitatori pe zi, încărcăturile sunt reduse la minimum. În viitor, nu arata, a fost făcut pe "și așa va veni în jos."

Am pus-o conform standardului: apache, php, mysql și am reușit.

Ca cadru. au decis să nu gândească niciodată, au luat ceea ce au lucrat la acel moment, respectiv Zend Framework 1

Beneficiul WG a furnizat API și toate datele de care aveam nevoie.

Altceva, dar deja nu-ți vei mai aminti.

Au trecut câteva luni, ne-am bucurat și am fost toți fericiți, dar a existat o dorință sălbatică de a împărtăși cu alți jucători. Am dorit opinii, evaluări ale altor persoane, etc.

În afara. jocuri forum, a creat un post cu informații despre proiectul nostru și a început să aștepte. În aceeași secțiune, au existat deja subiecte cu alte resurse populare la momentul respectiv, iar subiectul nostru nu era popular. Dar timpul schimbă totul, încet, puțin câte puțin, primii vizitatori, primele răspunsuri, primele link-uri către noi și, bineînțeles, negativul a început să apară.

Ceva despre care cineva nu a lucrat. Ceva se încărca mult timp, ceva a funcționat, dar nu.

Și în timpul liber, am început să facem corecții și să finalizăm proiectul.

Colectarea de statistici de sesiuni de jocuri, pe un exemplu de site (istorie de creare)

Colectarea de statistici de sesiuni de jocuri, pe un exemplu de site (istorie de creare)

Și cu asta ne-am odihnit pe puterea serverului nostru.

Site-ul a scazut periodic, atunci baza de date va atarna, din cauza multitudinii de cereri care nu au fost optimizate, atunci apache-ul se va infrange si se va retrage in sine.

Din cauza acestor căderi și datorită faptului că, în mod normal, nu am crezut atunci despre integritatea datelor, au început problemele: statisticile pentru unii jucători au fost strâmbe.

Am început să căutăm cauza tuturor relelor și am luat mai mulți pași naturali și mai simpli pentru a le optimiza. (da doar așa) secțiuni ale codului asociate cu tranzacționalitatea.

Cache-ul, desigur cache-ul, cum am uitat de el. Odată două și gata, am eliberat un pic, puțin, de asemenea.

De asemenea, a decis să reducă volumul bazei de date și să reducă timpul de încărcare a paginii cu statistici, înșurubați "skukozhivalku" pentru goluri stat.

Skukozhivaka a luat sesiuni de joc depășite, le-a combinat într-unul și a relatat evaluările jocului pentru sesiunea nouă.

Tie Google AdSense, poate un ban va cădea.

Sau putin mai mult, am reusit sa facem fata sarcinilor in crestere, dar am dorit mai multa putere sa ne intoarcem. A venit timpul să căutăm un nou server și să mutăm proiectul.

Verificați prețurile de pe piața rusă, ne-am dat seama că pur și simplu nu trage, a mers să se uite peste deal, cineva a sugerat sau undeva dat peste Hetzner, dar comentarii nu au fost atât de cald, hard sypyatsya și altele asemenea, dar uita-te la prețul și specificațiile propuse fier, au luat de la ei. Și așa cum arată practica - nu în zadar.

Am luat, după cum îmi amintesc, 2 terabytes de hdd în rampă, 16 rapoarte de operare și cel mai simplu procesor.

Cât costă, nu mi-am amintit, dar acumulările cu AdSense i-au fost suficiente.

Întrebat un bun prieten care înțelege configurația serverelor, pune tot ce aveți nevoie pentru proiectul nostru. Puneți apache + nginx + mysql pe ubuntu.

S-au depus copii de rezervă, au pus DNS-ul și totul a funcționat.

Bucuria nu era limită, puterea ochilor, totul se învârte, totul se învârte.

O jumătate de an pe noul server.

Site-ul a început să scadă ...

Long nu putea înțelege motivul. deoarece Fier a fost bun, dar după o mulțime de dans cu o tamburina, a constatat că a fost o idee foarte proastă pentru a stoca întregul cache fișier din 1 folderul (care mai târziu ceva pe gâtul lui):







  • Normalizați tipurile de date din tabele. Eliminarea redundanței.
  • Am modificat cache-ul, adăugând cuiburi. O parte din memoria cache a fost mutată în memcache.
  • Toți managerii s-au rescris, aproape totul este acum pe tranzacții, a scăpat de o tonă de cod inutil.
  • În același timp, au refuzat Apache și au pus nginx + php-fpm pentru experiment.

Site-ul a fost fără aer.

A început să adauge noi servicii: on-line pentru servere; informații despre noile decalaje ale jucătorilor în timp real; comentarii; și mai mult.

Colectarea de statistici de sesiuni de jocuri, pe un exemplu de site (istorie de creare)

Colectarea de statistici de sesiuni de jocuri, pe un exemplu de site (istorie de creare)

Până la sfârșitul anului au fost strânse multe lucrări de bază, entuziasmul nostru a fost turnat, nu au existat greșeli critice, site-ul a lucrat și sa plătit pentru sine, totul potrivit.

O actualizare de server mic.

Datorită numărului crescut de vizitatori, a existat o lipsă de RAM, este clar că găuri, scurgeri etc.

Au crescut memoria la 32 de concerte și totul a funcționat bine.

Concurs pentru noul logo.

Colectarea de statistici de sesiuni de jocuri, pe un exemplu de site (istorie de creare)

Una dintre hobby-urile noastre, nu vei fi plină. Am fost la adevărat.

Mergând într-un fel la site și descărcând noi statistici, am văzut că de mult timp totul se întâmplă și ceva trebuie schimbat.

  • Ottyunili toate procesele de serviciu, care sunt efectuate pe coroana.
  • Au paralelizat diverse procese de servicii. Acum, pagina utilizatorului este încărcată imediat și toate procesele asociate cu actualizarea datelor apar în fundal
  • Mai mult sau mai puțin actualizat șablonul site-ului.
  • Am transferat o parte a funcționalului din php în js.
  • Optimizarea cache-ului.
  • Adăugat "plictisitor" lacune stat de ani, luni, zile.
  • Redenumiți funcția responsabilă pentru redarea celor mai bune 1000 de jucători / clanuri.
  • Adăugată interfață mobilă
  • Adăugat noi servicii.

Colectarea de statistici de sesiuni de jocuri, pe un exemplu de site (istorie de creare)

Colectarea de statistici de sesiuni de jocuri, pe un exemplu de site (istorie de creare)

Statistici, rezervoare. Rezervoare, statistici. Rezervoare, rezervoare, rezervoare.

Și nu adăugăm la ktc, alt joc?

Așteptăm, alegeți, căutăm API. Și ne împiedicăm API-ul de la Valve.

Cum nu ne-am gândit imediat la Counter-Strike: ofensivă globală.

Alegerea, încercarea, testarea. Da, va fi.

Câteva săptămâni au lansat o versiune de testare pe un server închis, au descărcat jucătorii, totul a funcționat, puteți lansa în mase.

Colectarea de statistici de sesiuni de jocuri, pe un exemplu de site (istorie de creare)

Colectarea de statistici de sesiuni de jocuri, pe un exemplu de site (istorie de creare)

După aproximativ o jumătate de an, această secțiune nu a primit popularitate deosebită în rândul jucătorilor care nu ar fi putut fi aflat despre ea, probabil pentru că ei folosesc site-ul nostru doar tancuri și jucători în CS nu au știut despre ea.

Colectarea de statistici de sesiuni de jocuri, pe un exemplu de site (istorie de creare)

Utilizatorii au început să ceară adăugarea pe site, secțiunea dedicată jocului World of Tanks Blitz.

pentru că structura de bază nu diferă de versiunea de desktop, am putut să emită statistici privind colectarea datelor blitz în câteva zile.

Colectarea de statistici de sesiuni de jocuri, pe un exemplu de site (istorie de creare)

Colectarea de statistici de sesiuni de jocuri, pe un exemplu de site (istorie de creare)

În timpul existenței site-ului, iar acest lucru este deja de 3 ani, design-ul site-ului nu sa schimbat prea mult, dar este potrivit pentru majoritatea utilizatorilor noștri, dar pentru a fi sincer, este depășit. Ei bine, aceasta a fost făcută de noi, uneori așa cum au putut, câteodată dorit, și câteodată chiar așa va coborî.

Pentru a stabili unele puncte, am lansat un sondaj în care au participat aproximativ 3000 de utilizatori. Din care o mulțime de interesante purtate pentru ei înșiși. Principalul lucru este că utilizatorii nu le plac schimbările semnificative.

Am început să caut un designer. Este clar că, pentru a găsi un designer inteligent, va costa bani buni. Și unde pot să le iau?

Pe baza venitului nostru, am decis că putem aloca 10.000 de ruble pe lună până când ne vom ocupa complet de proiectare și vom începe să căutăm.

Sa dovedit că chiar și designerii familiari cu care lucrați de mulți ani nu sunteți gata să faceți un astfel de proiect sau pentru o astfel de plată. Dar o lună mai târziu, am găsit o persoană potrivită pentru noi și în acest moment lucrăm împreună cu el la CTTS v3.

Principalul lucru pe care vreau să îl văd în noul design:

  • lăsa minimalismul, dar îl fac mai informativ
  • pieptene tot ceea ce este posibil (cel puțin liniuțe, culori, fonturi)
  • pe coloana principală înlocuiți cu pătrate și adăugați jocurile gri pe care intenționăm să le adăugăm în viitor
  • ceva de a face cu meniul, deoarece în forma în care este acum, e teribil
  • și, desigur, se adaugă modernitatea

Cum să se ocupe de designer cu site-ul nostru, nu știu încă, sper că e bine. Cred că acesta va fi subiectul următorului post.







Trimiteți-le prietenilor: