sme.sk čočítať ontožíur-2010
DESCRIPTION
Zo zákulisia služby čočítať na sme.sk, skúsenosti, experimenty a pikošky zo spúšťania.TRANSCRIPT
SME.SK ODPORÚČAČ
• Aké články čítajú mne podobní ľudia a ja som nevidel?
• veľa veľa dát (~1M pageviews denne)
• každú minútu nové (~1000)
• veľa veľa traffic (peak okolo 9 ráno)
• rýchla odozva (horná hranica ~2-3 sekundy)
ALGORITMUS
• algoritmus k-najbližších susedov
• fulltext search ako ho nepoznáte (tf-idf zadarmo!)
• + implicitná negatívna spätná väzba
• čo už videl, ale neklikol
• + explicitná negatívna spätná väzba
• toto nechcem už vidieť (x tlačítko)
SYNTETICKÉ TESTOVANIE
• 15-dňové logy
• trénovacia / testovacia časť
• na koľko % z top10 klikol neskôr?
• škálovateľnosť (voči velkosti okna)
REÁLNE TESTOVANIE
• 2 odporúčače • “standard”
• + implicitná negatívna spätná väzba
• parameter veľkosti okolia • 5 až 50 s krokom 5
• = 20 skupín
• 7 dní = 2.8M odporúčaní
• čo merať? • počet klikov na “toto nechcem”
• počet klikov na odporúčané články
• pomer klikov na článok a klikov na “toto nechcem”
5 10 15 20 25 30 35 40 45 50
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
Normalized reject rate
standard
negative feedback
neighborhood size
%
5 10 15 20 25 30 35 40 45 50
0
0.2
0.4
0.6
0.8
1
1.2
Normalized click rate
standard
negative feedback
neighborhood size
%
5 10 15 20 25 30 35 40 45 50
1.5
1.7
1.9
2.1
2.3
2.5
2.7
2.9
3.1
click/reject ratio
standard
negative feedback
neighborhood size
?
?
!
Signifikancia?
Kruskal - Wallis test
NASADZOVANIE – PRÍPRAVA
• rails, mysql, sphinx, passenger, cron, apache, debian
• Virtuálny stroj od sme.sk
• Monitorovanie výkonu (New Relic RPM)
• záťaž, pamäť, pomalé akcie, databáza, dopyty, indexy...
• Reportovanie chýb (Hoptoad + Redmine)
• pošle mail keď nastane chyba, otvorí/upraví ticket...
• Automatické nasadzovanie (capistrano)
• stiahne novú verziu z repozitára, migrácie db, crontab, symlink,
restart...
NASADZOVANIE - REALITA
• Virtuálny stroj sme.sk >> nimbus.fiit.stuba.sk
• Monitorovanie výkonu #win
• Notifikácia chýb + Redmine #fail
• MySQL
• pri tabuľkách s >10M riadkov končí sranda
• query planner je niekedy sprostejší ako ja #fail
• Automatické nasadzovanie #win
• príkaz na vypnutie služby (.htaccess redirect 400)
NASADZOVANIE - REALITA
• Virtuálny stroj sme.sk >> nimbus.fiit.stuba.sk
• Monitorovanie výkonu #win
• Notifikácia chýb + Redmine #fail
• MySQL
• pri tabuľkách s >10M riadkov končí sranda
• query planner je niekedy sprostejší ako ja #fail
• Automatické nasadzovanie #win
• príkaz na vypnutie služby (.htaccess redirect 400)
NASADZOVANIE - REALITA
• Virtuálny stroj sme.sk >> nimbus.fiit.stuba.sk
• Monitorovanie výkonu #win
• Notifikácia chýb + Redmine #fail
• MySQL
• pri tabuľkách s >10M riadkov končí sranda
• query planner je niekedy sprostejší ako ja #fail
• Automatické nasadzovanie #win
• príkaz na vypnutie služby (.htaccess redirect 400)
NASADZOVANIE - REALITA
• Virtuálny stroj sme.sk >> nimbus.fiit.stuba.sk
• Monitorovanie výkonu #win
• Notifikácia chýb + Redmine #fail
• MySQL
• pri tabuľkách s >10M riadkov končí sranda
• query planner je niekedy sprostejší ako ja #fail
• Automatické nasadzovanie #win
• príkaz na vypnutie služby (.htaccess redirect 400)
10%!
SPUSTENIE
• pondelok 8.11.
• o 4 hodiny neskôr
• don’t panic!
• 1 jadro + 2GB RAM => 4 jadrá + 3GB RAM
• hacky hack!
• utorok 9.11.
• streda 10.11 7:30am
• mašina je mŕtva
10%! SPUSTENIE
• pondelok 8.11.
• o 4 hodiny neskôr
• don’t panic!
• 1 jadro + 2GB RAM => 4 jadrá + 3GB RAM
• hacky hack!
• utorok 9.11.
• streda 10.11 7:30am
• mašina je mŕtva
SPUSTENIE
• pondelok 8.11.
• o 4 hodiny neskôr
• don’t panic!
• 1 jadro + 2GB RAM => 4 jadrá + 3GB RAM
• hacky hack!
• utorok 9.11.
• streda 10.11 7:30am
• mašina je mŕtva
OHLASY
• etrend
OHLASY
• etrend
OHLASY
• etrend
• diskusie sme.sk
OHLASY
• etrend
• diskusie sme.sk