了解由來看一下 WIKI
- 流量排名世界第 54
- 110 個網站 (一個月成長 3~4 個)
- 4 百萬個用戶
- 8 百萬個問題
- 4 千萬個問答
- 5 億 6 千萬個瀏覽數 (一個月)
- 尖峰時刻 2600 ~ 3000 request /sec
- 只有 25 台 server 運作
- 大部份使用微軟的產品架構
- 沒使用雲端服務,因為會托慢速度,且難維護與最佳化
- SQL Server 為 384 GB RAM 與 2TB 的 SSD (intel 710)
- 每台 server 基本為 320 GB SSD x2 作 RAID1 (intel 330) 或 RAID10
- 也有用 ElasticSearch (300 GB SSD) (intel 520)
- 40:60 read-write ratio
- DB server 平均 10% CPU 負載
- 11 個 web server 用 IIS
- 2 load balancers , 1 active , 用 HAPorxy 架設的
- 4 台 SQL server nodes
- 3 台 server 專作 tag engine
- 3 台 server ElasticSearch
- 2 台 server 用 Redis 作 cahce
- 2 Networks (each a Nexus 5596 + Fabric Extenders)
- 2 Cisco 5525-X ASAs (think Firewall)
- 2 Cisco 3945 Routers
- 2 台 server 專作只用來讀取的 SQL server,及 API
- Stack Exchange 自行建置一個 Opserver https://github.com/opserver/Opserver 用來監控 servers、SQL clusters/instances、redis、elastic search、exception logs、haproxy、etc…
- 整體真正使用到的 CPU 資源合起來只有 5 台,資料庫則 10%,為何這麼低,因為資料皆在 384 GB 的 RAM 裡運算,而 web server 10~15% CPU 資源使用
- 主要機房在 New York,備援機房在 Oregon (兩個機房皆有互相備援)
- 每個網站皆獨立一個資料庫, Net York 機房裡每個叢集裡面有一台寫入一台唯讀,在 Oregon 則一台唯讀
- 五人負責系統維運、6~7人寫程式 (網站)、6 人寫 mobile 程式
- 用 logstash 管理 log
其它就參考
- The architecture of StackOverflow : http://www.dev-metal.com/architecture-stackoverflow/
- http://highscalability.com/blog/2014/7/21/stackoverflow-update-560m-pageviews-a-month-25-servers-and-i.html
留言