救火隊員的那些事 4 關於流控

2022-07-03 12:21:11 字數 686 閱讀 9944

1、首先這套系統部署是集群,假設集群有6臺主機,這6臺主機的每秒下發的訊息量不能超過乙個值,假設為10000,為什麼有這個要求,是因為下游執行傳送訊息的短訊息閘道器或彩信網關有流控,你發的快了,下游系統會拒絕你,所以這個總的tps不能超。

2、這些訊息的**都是來自於某個sp或者cp,每個cp或者sp在簽約平台的時候,它有乙個最大每秒傳送量,傳送量分為彩信、簡訊以及wap push渠道。

3、除了上面的限制以外,cp和sp又分了優先順序,如果低先級和高優先順序的時候在一起傳送的,一定要先等到高優先順序的先傳送完成。

還有一些規則要求,時間比較久了,我記不是特別清楚了。

1,這套系統在高峰期間實際下發的每秒流量沒有達到當時他們購買的流量,比如他們購買為10000條/秒,但是他們實際監測發現高峰的時候,可能只有9000條/秒.

2,系統的流控不穩定,當時合同簽署的流控上下波動不能大於正負10%。舉個例子,假設他們有乙個最大的sp,在上午10點到11點獨佔傳送訊息,他們設定按200條/秒傳送,這時沒有任何其它的sp搶占通道,那麼訊息傳送速率應該是在180~220條/秒,但是實際傳送的速率會在這個區間之外。

1、因為任務的分配是每秒重新計算一次,計算完成以後,下發執行緒要再從分割槽表中載入資料,這都需要時間,即資料不是立即下發,會導致之前分配的速率執行時間被拉長了,所以很難達到總容量

2、流控的不準確性:單個執行緒傳送的流控演算法優化問題,我會在後面再討論這個問題

關於開始的那些事

人總是有惰性的,當然我自己深有體會。一直有個想法想寫寫自己的blog,但隨時間的推移,很久都沒付出行動。最近工作專案開始不那麼忙了,維護乙份自己的blog的想法愈發強烈了。想把自己的一些想法,或者看到的一些有用的東西給大家分享,也給自己留下成長的痕跡。我從小喜歡看書,各種各樣的書屬於不求甚解的狀態。...

關於coredump的那些事

今天在網上搜了一些有關coredump的知識,簡單記一下,以防忘記 core dump檔名的模式儲存在 proc sys kernel core pattern中,預設是core 主要是今天比較鬱悶,要除錯程式crash,就用ulimit c unlimited設定了一下core檔案的大小,但是測試...

關於STL 的那些事

今晚參加訓練。樹狀陣列的練習,傻乎乎的用stl做了一晚,雖然題沒做出來,不過對stl的查詢有了更深一層的理解。關於stl。輸入輸出 vector push back pop back stack push pop queue push pop 頭 front 尾 back priority queu...