Google Buzz dugme

Od kako se pojavio Google Buzz je postao novin način razmene interesantnih linkova  sa ostalim Gmail korisnicima. Poput Facebook share ili Twittera.

Kao prvi korak promocije novog google servisa, dodali smo Buzz dugme u naše zaglavlje prilikom redirekcija.

Napomena: Po otvaranju Buzz naloga potrebno je i da u opciji Connected Sites dodate i sajt Google Reader. Vrlo je moguće da je ovo Google već uradio automatski za Vas.

Vizuelna i sadržajna promena izdvojenih tema

Kako ne bi sve promene ostale samo ispod haube, odlučili smo malo vizuelno doraditi izgled Izdvojenih tema.

Dve su glavne novine koje doprinose bogatijem sadržaju:

  • Wikipedia info (2) – opis teme koji se izvlači direktno sa Wikipedie
  • Twitter konverzacije vezane za odabranu temu (5)

Zbog lakše vizuelne identifikacije u gomili sadržaja svakoj temi smo dodeli sopstveni avatar (1). Ova slikica će se prikazivati uz naziv teme gde god je zgodno istaći teme u rezultatima pretrage ili u zbirnom prikazu svih tema.

Filtriranje sadržaja (3) je novina koja funkcioniše po istom principu kao i u slučaju pretrage naslova: filtriranje naslova, slika i/ili twitter konverzacija po zemljama odakle potiču izvori vesti.

Koliko je tema popularna u određenoj zemlji možete videti na activity graph-u (4) koja grafički i brojčano prikazuje broj objavljenih naslova/slika u proteklih 30 dana.

Prateći logiku “sve na jednom mestu” pokušaćemo sav relevantan sadržaj vezan za izabranu temu postaviti u isti okvir. Tu podrzumevamo i linkove (stranice) iz web direktorijuma, video materijal sa YouTube-a, slike sa spoljnih izvora kao što su Flickr i sl.

Optimizacije: PHP, MySQL,…

Ovih dana puštamo u opticaj novi Kreni!. Kad kažem “novi”, na žalost, ne mislim na novi dizajn. Šta više, sve promene koje su izvršene, desile su se “pod haubom” i neće biti vidljive na prvi pogled.

U protekla dva meseca provedeno je mnogo vremena analizirajući rad sajta kako kroz source code (PHP) tako i kroz bazu podataka (MySQL). Kako je tokom ove dve godine postojanja sajt stalno proširivan novim servisima a akumulirani podaci u bazi su stalno rasli, bilo je pitanje vremena kada će sve postati jako klimavo po pitanju stabilnosti baze i brzine odaziva celog sistema.

PHP

Prvo od čega smo krenuli jeste “češljanje” oko 90.000 linija PHP koda. Trebalo je izbaciti sav nepotreban kód koji je samo stajao tamo, ubrzati najčešće korišćene funkcije i optimizovati upotrebu memorije. S obzirom da Kreni! nije zasnovan ni na jednom gotovom open source rešenju nismo mogli samo update-ovati software i nadati se poboljšanju performansi. Imajući u vidu buduća proširenja sajta, napisane su mnoge biblioteke i klase koje su poslužile kao osnova za pretvaranje svih servisa u “modularni sistem”. Ovako su servisi bili zasnovani na istom funkcionalnom temelju koji im je omogućio da razmenjuju zajedničke podatke bez potrebe za novim pristupima bazi. Modularnost je pogotovu bila značajna za rad bot-ova koji su skidali podatke sa neta ili osvežavali ove zajedničke podatke kroz sistem međusobne “razmene”.

Ova razmena podataka je realizovana sa memcache-om. Iako je sistem i do sada koristio keširanje podataka (na disku) tek je sa upotrebom memcache-a došlo do ubrzanja performansi.

MySQL

Ono što je sledilo jeste optimizacija baze podataka. Kako u strukturi tabela, načinu indeksiranja podataka unutar tabela tako i samih query-a koji izvlače podatke. Koliko pravilno indeksiranje tabela ubrzava iščitavanje podataka nije potrebno da govorimo, ali postoje situacije kada MySQL ne može da izađe na kraj sa količinom podataka ma kako dobro izvršili njihovo indeksiranje.

Konkretno mislim na FULLTEXT indeksiranje koje je korišćeno za pretraživanje naslova i blog članaka. Kada pretražujete 2.500.000 naslova (oko 2GB podataka) MySQL počinje da koči u odazivu. Pogotovu ako se pretražuje po nekoliko različitih ključnih reči za 20 online korisnika koji bi da ove rezultate pretrage dodatno isfiltriraju po kriterijumima kao što su: izvor, jezik, popularnost i/ili postojanje propratne slike ili sličnih naslova. Odaziv je sa nekoliko milisekundi rastao tokom zadnjih meseci na nekoliko stotina milisekundi pa čak i nekoliko sekundi što je postalo nedopustivo za dalji opstanak. Da stvar bude još gora, u pojedinim situacijama MySQL se nije mogao izvući iz navale zahteva za novim pretragama što je rezultovalo blokiranjem sistema i izbacivanjem poruke “Sajt je trenutno nedostupan!“.

Prva pomoć pružena je u proširenju memorije servera (sa 2GB na 4GB). Ovo je dosta pomoglo jer su indeksi bili keširani u memoriji ali se MySQL i dalje zaglavljivao kada je pretragu koristilo nekoliko korisnika odjednom.

Bilo je vreme pronaći novi metod pretrage. Iako još nismo bili spremni da odustanemo od MySQL-a za skladištenje, razmatrane su pojedine ne-relacione baze podataka kao što su Cassandra, BigTable i slične. A onda smo se setili jednog rešenja koji vrlo uspešno koriste mnogi poznati sajtovi: Sphinx.

Prvi testovi pokazali su kako je ovaj metod pretrage (za gore pomenutu količinu podataka) itekako zgodan za upotrebu jer je odaziv bio čak i do 100x brži (u jednokorisničkom okruženju) od FULLTEXT pretrage. Bilo je potrebno samo adekvatno odrediti vreme reindeksiranja sadržaja kako bi korisnici dobijali što svežije naslove. Sphinx je zbog lakog korišćenja i brže pretrage upotrebljen i u pojedinim situacijama gde nije bila korišćena FULLTEXT pretraga ali je bilo potrebno grupisati podatke po raznim GROUP BY filterima. Uz dodatno keširanje memcache-om servis Naslovi je ovako postao sasvim prijatan za korišćenje.

Kuda dalje…?

Ovime se priča o optimizaciji ne završava. Sledi dodatno osvežavanje hardware-a (SSD diskovi?), odvajanje Web od DB servera, prebacivanje statičkog sadržaja (slike, js i css datoteke) na poseban CDN server itd, itd.

Let the fun begin!

Vredi li još podržavati IE6?

Polako (ali sigurno) i najveći igrači na Internetu prestaju sa podrškom za prastari browser Internet Explorer 6. Iako smo i mi, nezvanično, prestali podržavati IE6 već od uvođenja servisa Poslovi, postavlja se pitanje šta sa onima koji ga još uvek koriste?

U našem konkretnom slučaju je to oko 14% posetilaca. Tendencija prelaska na novije i modernije verzije je u stalnom porastu ali procenat korisnika IE6-ce je još uvek prilično visok:

Jan 2009: 29%
Feb 2009: 27%
Mar 2009: 25%
Apr 2009: 24%
Maj 2009: 23%
Jun 2009: 22%
Jul 2009: 22%
Avg 2009: 20%
Sep 2009: 19%
Okt 2009: 18%
Nov 2009: 17%
Dec 2009: 16%
Jan 2010: 14%

Isto važi i za korisnike starijih verzija browser-a drugih kompanija npr. Firefox 2.0, Safari 2.0 i Google 1/2.
Preusmeriti korisnike na download jedne od sledećih verzija: Internet Explorer 7.0+, Mozilla Firefox 3.0+, Google Chrome 4.0+ ili Safari 3.0+?

“Problem” ostaju posetioci koji sajtu pristupaju sa tuđih (kompanijskih) računara gde nemaju administrativne privilegije a sa time ni mogućnost instalacije novijeg software-a. Ostaje nam da vidimo koliko će uticaja na korisnike imati gore pomenuti igrači…

Top sadrzaj 2009 godine

Kako svi prave razne statističke analize prethodne godine, bacili smo i mi pogled na 2009-u kako bi proverili šta je to bilo najaktuelnije.

Da krenemo (nekim) redom.

Najčitaniji naslovi:

  1. Veliki Brat Jovana i Đorđe se kresnuli (Slike … [ExTekst: Reality]
  2. 50 najvećih filmova 2009. [Mnet: Zabava]
  3. Svinjski grip – simptomi i prevencija [OrganVlasti: Zdravlje]
  4. Veliki Brat: Gole Slike [ExTekst: Reality]
  5. Facebook smajliji – kompletna lista [Facebook Srbija]
  6. SAPUNICA: Oprezno s anđelom: Životna priča bo… [Jutarnji list: Uhvati ritam]
  7. MALA KRSNA – NAJDANOVI KRUGOVI [Klub Putnika: Putopisi]
  8. Umire Majkl Džekson? [24sata]
  9. Magična Privlačnost – od srede na TV Pin… [Opera-17.com: TV]
  10. SSL pristup za webmail i home portal [SBB]

Najčitanije teme:

  1. Jovana Pavlović
  2. Sex
  3. Zvezde Granda 2009
  4. Roger Federer
  5. Nataša Bekvalac
  6. Odbojka
  7. Nova godina
  8. Veliki Brat
  9. Farma
  10. Horoskop

(U 2009. god. indeksirano je preko 1.800.000 naslova sa oko 1.000 različitih izvora.)

Najčitaniji naslovi u domaćoj blogosferi:

  1. Drago kamenje i njihovi uticaji [Ženski kutak]
  2. Facebook – hakovanje bilo kog naloga kako biste … [.'.sekuritatea.'. :]
  3. Zelena kafa za mršavljenje [Ženski kutak]
  4. Svetlana Ražnatović Ceca: “Ne znam da li… [Tračara]
  5. Studenti OT- brčkanje u Herceg Novom! (foto) [Tračara]
  6. Mia Borisavljević: novi spot “Ženskaroš… [Tračara]
  7. Domaće zvezde i zvezdice bez šminke! Joooj! [Tračara]
  8. Vakcina protiv svinjskog gripa – upozorenj… [Nebojša]
  9. Kako hakovati Facebook u tri jednostavna koraka [.'.sekuritatea.'.:]
  10. Seksi Grand cice [Tračara]

(U 2009. god. indeksirano je preko 36.000 članaka sa oko 300 različitih blogova.)

Najpopularnije stranice u web direktorijumu:

  1. sirjohn: Polovni automobili
  2. Robert Manic: Haljine – za mature
  3. RRR: Novine u Srbiji
  4. Donqihote: Auto placevi
  5. FoxVanis: Besplatna muzika
  6. ben: Montažne kuće
  7. Mira15: Frizure
  8. juzo: Erotska masaža
  9. Mina: PVC stolarija – Srbija
  10. Mira15: Haljine

Od stranica koje su napravljene u 2009. god. izdvojili bi dve koje su trenutno vodeće po broju poseta i broju klikova na linkove: Haljine i Bor.

Do neke naredne statistike… Krenite odavde ;)