Fotolog对memcached的应用
Fotolog在21臺server上部署了51個memcached實例,使用了175G,剩余254G。他們對待緩存的策略是:緩存所有在查詢、獲取和計算上慢的東西。
幾種應用類型:
Non-Deterministic Cache: 最常用的存儲需要read的數(shù)據(jù)。平均每個memcached實例上有440gets/sec, 40sets/sec和11gets/set。但是通常來說memcached不是一個吃cpu的東西,但是卻達到了90%的占用量,幾乎每分鐘一次內(nèi)存垃圾回收,還有blocking發(fā)生。數(shù)據(jù)都不是transactional的。用了45個實例。
State Cache:把程序當前狀態(tài)保存在cache里。對于昂貴的操作、session(如果存儲session的memcached掛了,那改用戶就得重新登陸了),為IM存儲在線用戶。
Deterministic Cache:這里存的是某些表的所有數(shù)據(jù),程序在這里只搜索的緩存,而不去care數(shù)據(jù)庫里的數(shù)據(jù),在程序獲取數(shù)據(jù)之前甚至都不用去檢查數(shù)據(jù)是否存在(因為是整個db中tables的映像)。保存的是不會過期的數(shù)據(jù),以及用戶的profiles/preferences/photo lists等。如果網(wǎng)站重新啟動了,在網(wǎng)站重啟之前緩存的內(nèi)容會提前建立。這部分做了LB。在緩存的cluster里發(fā)生9w gets/sec、300 sets/second,get:set=300:1(get/set ratio)。數(shù)據(jù)庫結構到內(nèi)存對象的映射(db schema=>objects)。
其次Fotolog還有Proactive Cache/File System Cache/Partial Page Cache/Application Based Replication等幾種cache方案、應用。但不是(在當前階段和使用微軟技術的原因下)特別重要。
關于Fotolog的歷史:
- 2002年開始,04年時又30-40萬會員,3名員工,在系統(tǒng)架構和盈利模式上都可以說一無所有。
- 發(fā)展迅速,問題不斷,2005年開始限制每天新增1000會員
- 07年與1100萬會員
- 會員主要來自于South America,超過20%的pv來自歐洲。
- 每月350億pv,2千萬獨立訪問ip
- 擁有3億照片,每天上傳50萬
- 每天新增3萬用戶,4600萬新用戶訪問
- 20%用戶每天都要訪問并且平均時間為24分鐘
- 有32臺mysql server和30臺memcached server cluster
Revenue model:
- Gold camera member for about $5/month means you can upload 6 photos a day instead of 1, have 200 comments per photo instead of 20, a custom title image for your profile, a mini-thumbnail of your most recent photo displayed next to your name in guest books, plus the possibility of having your photo featured on the front page..
- Adsense. Revenue lift from Google is trending up approximately 15% given additional contextual data from guest books.
- Will move to a peer-to-peer advertising among their members.
- Members will have the ability to buy and sell real and virtual items using a micro-payment service.
轉(zhuǎn)載于:https://www.cnblogs.com/fanweixiao/archive/2009/03/05/1403657.html
總結
以上是生活随笔為你收集整理的Fotolog对memcached的应用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SyntaxError: invalid
- 下一篇: Java连载3-编译与运行阶段详解JRE