架構之各類參數對應表

1、系統級linux

一、一個進程下最多建立線程數量redis

首先根據棧大小設置;理論上,一個進程可用虛擬空間是2G,默認狀況下,線程的棧的大小是1MB,因此理論上最多隻能建立2048個線程。算法

二、GC內存溢出狀況:98%的GC在工做狀態,而且head大小不足2%時就會發生;數據庫

三、一個linux最大進程數:使用命令ulimit -u查看軟限制,個人爲31437服務器

四、線程池大小配置(參考值):架構

若是是CPU密集型任務,就須要儘可能壓榨CPU,參考值能夠設爲 NCPU+1併發

若是是IO密集型任務,參考值能夠設置爲2*NCPU負載均衡

2、應用級memcached

1.單臺Memcache服務器key-value查詢可以達到TPS 5w以上;性能

2.redis最大鏈接數,能夠在redis.conf配置文件中修改,默認maxclients 10000;

Redis的性能很是出色,每秒能夠處理超過 10萬次讀寫操做

單個value的最大限制是1GB,不像 memcached只能保存1MB的數據

Redis的主要缺點是數據庫容量受到物理內存的限制,不能用做海量數據的高性能讀寫,所以Redis適合的場景主要侷限在較小數據量的高性能操做和運算上。

3、數據庫

通常以整型值爲主的表在 千萬級如下,字符串爲主的表在 五百萬如下是沒有問題的;

 

4、架構級

假設1000萬日活量(用戶數量);換算成秒級約等於116;

假設每一個用戶操做10次,平均QPS=1160;

考慮峯值是均值的倍數:QPS=11600;

考慮靜態資源、圖片資源、服務拆分等,流量放大效應,假設10,QPS=116000;

考慮高可用、異地多活,QPS*2=232000;

考慮將來半年增加:QPS*1.5=348000

1.DNS負載均衡的本質是DNS解析同一個域名能夠訪問不一樣的IP地址;實現簡單、成本低、粒度太粗、負載均衡算法少;

1.硬件負載均衡:F5和A10價格在20w~50w之間;併發大概能到200萬/秒到800萬/秒;

2.LVS軟件負載均衡:併發大概能到80萬/秒;LVS是linux內核的4層負載均衡;和協議無關

3.Ngnix軟件負載均衡:併發大概能到5萬/秒;Ngnix是7層負載均衡;支持HTTP和e-mail協議;

相關文章
相關標籤/搜索