@lmuzinic
@trikoder
@netakademija
"znate one widgete što ste davno napravili,
mi bi to htjeli pustiti u produkciju"
...
"pa nemamo još točne brojke, ali otprilike
110 milijuna prikaza mjesečno"
...
"halo, HALO?"
...
"odlično, bit će mi drago vidjeti ih u živo.
Budući da nikada nismo pričali o brojkama, o kojem
broju prikaza govorimo?"
...
"to su poprilično impresivne brojke,
predlažem da prvo isprobamo da li je moguće bez ulaganja u
dodatni hardware"
...
Idemo vidjeti koliko requestova u sekundi trenutno rješenje može podnjeti? Cilj: ~45 req/s
#fail
optimizacija koda
keširaj DB upite
keširaj Sphinx upite
ponekada je pametno da requestovi uopće ne dođu do aplikacije
- Tomicius
Rasimus
http://nginx.org/en/docs/http/ngx_http_memcached_module.html
http://wiki.nginx.org/HttpRedis
# widget nginx + memcached
location /widget/ {
set $memcached_key $geoip_city$uri;
if ($arg_company != '') {
set $memcached_key $memcached_key?company=$arg_company
}
default_type text/html;
memcached_pass 127.0.0.1:11211;
error_page 404 = @fallback;
expires +7200;
}
location @fallback {
proxy_pass http://apache.application.server:8081;
proxy_buffering off;
proxy_redirect off;
}
Idemo vidjeti koliko requestova u sekundi novo rješenje može podnjeti? Cilj: ~45 req/s
so much #win
with keepalive https://gist.github.com/gjuric/7580148
:( values too big to have described effect
4. po IP adresi (cca. jako puno)
3. po gradu (cca. 1145 kom)
2. po regijama (9 kom)
1. cijela Austrija (1 kom)
VPS, 4 core, 8 GB
load zanemariv
36m req/mj
u peakovima 50-60 req/s
dodatni memcache fallback
Varnish, raznorazni web acceleratori, podrška za ESI...
želim ljude koji dolaze s rješenjima, a ne problemima
iskoristite trokut cjenkanja
novac, vrijeme, opseg posla
kvaliteta
komunicirajte s kolegama, sistem administratorima, hosterima, klijentima, šefovima
cache stampedo
zagrijavanje cachea
GA analytics
održati memcache na životu
upstream memcached_backed {
server 192.168.1.1:11211;
server 192.168.1.2:11211;
}
# widget nginx + memcached
location /widget/ {
memcached_pass memcached_backed;
memcached_next_upstream error;
}
@tomyz0r, @ivedrna, @msvrtan, @goran_juric and many others
posao@trikoder.net
jeste li ikada vidjeli u teretani tipa koji vježba samo bicepse?
biti najbolji developer nije dovoljno
ne budite taj tip!