成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

蘇寧合同數據中心系統如何大幅提升服務性能

原創
開發 項目管理
蘇寧易購合同數據中心系統是蘇寧合同管理系統中的一個子系統,主要為蘇寧價格、結算、商戶平臺、調撥等系統提供銷售、扣點、賬期等數據,用于指導銷售、賬期結算、采購流程管庫等。

【51CTO.com原創稿件】背景

蘇寧易購合同數據中心系統是蘇寧合同管理系統中的一個子系統,主要為蘇寧價格、結算、商戶平臺、調撥等系統提供銷售、扣點、賬期等數據,用于指導銷售、賬期結算、采購流程管庫等。

隨著公司業務的快速發展,各系統的調用量和并發量明顯增長,現有的合同數據服務接口已不能滿足某些系統的性能要求,急需升級和優化該服務接口,提高系統的可用性和穩定性。

系統面臨兩個緊迫訴求:

1. 接口性能要從原有的并發量1000TPS提升到10000+TPS以上,滿足高性能。

2. 系統可以橫向擴展,隨著業務發展,可以動態的擴容,滿足可擴展。

問題分析

未改造前的蘇寧合同子系統扣點服務查詢邏輯

如圖:

存在的問題:

1. 大量的連接查庫,造成數據庫負載較高

扣點服務查詢業務邏輯比較復雜,通常一條數據調用需要多次對數據庫進行查詢,在調用量大的時候,經常會出現數據庫連接不夠,數據庫負載過高等問題,給數據庫造成很大壓力。

2. 串行化查詢,效率較低

接口調用的時候,通常是一個報文里包含幾十條數據,由于是串行查詢,每條報文都是逐條查詢,導致處理效率較低。

3. 大量的服務調用,造成服務器壓力過大

現有的4臺Wildfly服務器在并發量大的時候,每臺機器的壓力都比較大,需要更多的機器來分擔壓力。

改造方案

1. 增加緩存,預先將熱點數據放入緩存

(1) 系統最大的問題,就是IO比較密集,服務并發調用的時候,需要大量的查詢數據庫。我們想到的方案就是能否把一部分數據提前計算好,放入緩存,當系統調用的時候直接從緩存中取。

(2) 考慮到數據量比較大,生產環境有將近10億的數據,單臺Redis無法容納這么大的數據,需要做分布式存儲。借助蘇寧自研的Zedis分布式緩存來實現對數據的存儲。

實現方案:

(1)后臺通過定時任務預先將做過價格的商品(熱點數據)計算好之后,將結果數據寫到zedis緩存集群中。

(2)有新的熱點數據變動的時候,先將緩存數據清除,再將數據插入庫中,更新該商品緩存狀態(防止緩存數據與數據庫數據不一致)。

(3)后臺定時任務查詢到緩存狀態未處理的數據重新計算結果,將最新的數據寫入緩存中。

處理流程,如圖:

2. 串行改并行,多線程并發處理數據

(1)調用扣點服務的報文通常都是實時的,也存在一些批量調用的數據,一個報文存在多條調用的數據,未改造前,整個調用都是串行的。

如圖:

調用之前花費的時間是各條數據處理時間的總和

(2)多線程改造之后可以并行的處理一個報文的多條數據

如圖:

改造后,在后臺維護一個線程池,并發處理一個報文的多條數據,花費的時間是處理時間最長的一條數據,處理時間上相較于串行處理有了顯著提高。

3. 橫向擴展服務器,分散壓力

蘇寧易購合同管理數據中心子系統是一個分布式系統,天然具備擴展性。隨著調用量,并發量的增加,單臺Wildfly服務器壓力增大,為滿足性能要求,根據壓測結果,對服務器進行了橫向擴展,從以前的4臺擴容到30臺,分散系統壓力。

4. 改造之后的接口調用方案

如圖:

接口壓測

改造之后,對扣點服務接口進行了壓測,壓測借助于公司內部的蛙測平臺。

壓測環境

服務器數量配置

Nginx24C 4G

Wildfly84C 4G

Zedis54C 32G

MySQL58C 16G

測試場景

測試場景1

模擬場景: 無緩存數據庫壓測

并發用戶數: 8000

測試結果界面如下:

測試時間: 2018-10-01 22:40:23 ~2018-10-01 22:45:23

事務執行總量:2355622次;失敗:0次; 成功率:100%

wildfly服務器利用率穩定在5%~10%

事務的平均響應時間:624.75ms

TPS:平均 8264.4

測試場景2

模擬場景: 半緩存半數據庫壓測

并發用戶數: 8000

測試結果的界面如下:

測試時間: 2018-10-07 16:18:30~2018-10-07 16:23:30

事務執行總量:3653576次;失敗:0次; 成功率:100%

Wildfly服務器利用率穩定在5%~10%

事務的平均響應時間:403.72ms

TPS:平均 12818.3

測試場景3

模擬場景: 全緩存壓測

并發用戶數: 8000

測試結果界面如下:

測試時間: 2018-09-13 11:42:13~2018-09-13 11:47:13

事務執行總量:10519551次;失敗:0次; 成功率:100%

Wildfly服務器利用率穩定在5%~10%

事務的平均響應時間:140.43ms

TPS:平均 36907.3

小結

從壓測結果中可以得出,改造之后的服務接口的TPS有了顯著提升,從以前的1000TPS提升到10000+TPS以上,滿足蘇寧外圍系統對合同扣點服務接口的性能要求。

回顧這次性能優化,主要從三方面入手:

1. 利用Redis內存級別的存儲,實現數據的快速讀取。

2. 從程序內部優化,將串行化的處理改成并行化異步處理。

3. 利用分布式可擴展的特點,擴展服務器,分散壓力。

從這次扣點服務升級改造中得出,性能優化不僅僅是單一的利用某個技術就可以提升系統的性能,需要全方位綜合的解決性能問題,總結的思路有三點:

1. 找到系統性能的瓶頸。

2. 針對性能瓶頸有的放矢做技術方案,選取合適的技術方案。

3. 一定要壓測,優化之后是否真正的提升了系統性能,提升了多少。

結束語

2018年是集團高速發展的一年,隨著智慧零售,大開發等戰略的逐漸落地,公司的業務量數據量不斷的增長,同時對系統的性能和穩定性提出來更高的要求。為響應公司提出的“造極”精神,我們也對現有系統進行了迭代升級,不斷優化,不斷升級。

在造極精神的鼓舞下,圍繞快速迭代、質量保證和穩定服務,把極客、極物、極速的造極精神當作我們的工作態度,唯有挑戰不可能,才能超越一切可能,沖破極限,進而登峰造極。

作者:張冀平,蘇寧易購IT總部員工平臺研發中心技術經理,負責公司內部ERP系統的規劃架構開發工作。資深碼農,十年軟件開發經驗,對系統架構,性能優化,分布式系統設計有著豐富的實戰經驗。

【51CTO原創稿件,合作站點轉載請注明原文作者和出處為51CTO.com】

責任編輯:龐桂玉 來源: 51CTO
相關推薦

2018-07-18 10:18:01

數據中心負荷計算系統

2021-11-18 10:05:35

Java優化QPS

2017-10-26 08:25:26

數據中心系統內存

2018-05-09 14:45:50

蘇寧前端Nodejs

2017-06-05 11:03:11

數據中心效率微模塊

2013-02-20 10:07:29

蘇寧電器蘇寧云商云服務

2011-07-19 10:46:49

Windows 7優化

2018-11-08 09:40:04

蘇寧智能維護系統Python

2017-01-16 14:58:48

數據中心SDDC

2011-08-08 09:28:18

數據中心宕機服務器

2023-04-10 09:15:25

Vite 4.3SWC 插件

2011-03-30 11:29:26

2017-06-13 13:40:56

數據中心性能機房

2020-09-11 14:35:12

數據中心

2015-09-23 11:27:14

數據中心存儲性能

2013-09-27 09:53:12

一體式數據中心系統趨勢

2024-12-11 07:59:02

2021-06-30 10:16:54

微服務架構測試

2020-06-19 07:00:00

蘇寧數字孿生平臺
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 中文字幕在线一区二区三区 | 国产精品久久久久久亚洲调教 | 奇米超碰在线 | 国产91丝袜在线播放 | 午夜视频精品 | 91社影院在线观看 | 麻豆av在线免费观看 | 国产精品69av | h在线免费观看 | 欧美日韩在线国产 | 91精品国产色综合久久 | 亚洲最新在线 | 中文字幕精品一区二区三区精品 | 9色网站 | 奇米四色在线观看 | 亚洲精品 在线播放 | 91视在线国内在线播放酒店 | 狠狠做六月爱婷婷综合aⅴ 国产精品视频网 | 超碰免费观看 | 国产精品成人一区二区三区夜夜夜 | 欧美日韩免费 | 精品亚洲永久免费精品 | 国产在线播放一区二区三区 | 在线日韩av电影 | 欧美国产一区二区 | 国产区高清| 国产激情第一页 | 日本三级电影免费 | 99国产精品99久久久久久 | 国产日韩欧美在线观看 | 欧美日韩在线视频一区 | 欧美午夜精品理论片a级按摩 | 亚洲一区二区久久 | 中日韩毛片 | 精品九九九 | 国产成人精品免费视频大全最热 | 狠狠操天天干 | 日韩福利在线观看 | 色视频欧美 | 国产精品视频免费 | 日韩一级欧美一级 |