How does GROU.PS scale to serving 1PB of assets each month. memcache, nginx, gearman, tornado, libevent, kqueue, epoll, mysql, sharding, replication, memcached, tokyo cabinet
3. Challenges @ GROU.PS3M unique visitors per month120M page views1PB assets to be served every monthVideo,Photos, FilesSupport for 5Gbit/sVery dynamic pages:With social networks; p(u,t) = HTMLp(g,u,t) = HTML -> WHERE group_id = ? AND …
14. MySQLLoad off via memcache$memcache->set(“group_by_name.jtpd”, 1122, false, 0);$memcache->set(“home_module_html.1122”,…, true, 30);function getGroupID($group_name) { global $memcache; if( !isset($memcache) || ($res=($memcache->get(“group_by_name.{$group_name}”)))===false ) { // get it from mysql and memcache } else { return $res; // serve from memcache }}
16. MySQLRuns poorly on multi-coresquery_cache_size = 0 # on masterquery_cache_type = 0 # on masterthread_concurrency = 8 # total coresmax_connections = 750 # shouldn’t exceed thatinnodb_buffer_pool_size = 10G # a little less than the total amount
27. More to come on my bloghttp://emresokullu.comMore fine tuning tipsBecome a member of my communityLove grou.ps ;)Convert to PHPWe’re hiring: jobs@groups-inc.com