• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      一種基于高并發(fā)場(chǎng)景下的多服務(wù)器負(fù)載均衡的設(shè)計(jì)方案

      2018-09-12 07:56:02劉文博譚裴汪寧
      關(guān)鍵詞:訪問(wèn)量利用率服務(wù)器

      劉文博,譚裴,汪寧

      (中國(guó)移動(dòng)通信集團(tuán)設(shè)計(jì)院有限公司安徽分公司,合肥 230041)

      1 引言

      在無(wú)線基站智能查勘系統(tǒng)的大范圍推廣應(yīng)用過(guò)程中,LTE和NB-IoT網(wǎng)絡(luò)建設(shè)規(guī)模的日益增大,系統(tǒng)的訪問(wèn)量急劇增加。由于服務(wù)器硬件資源的限制,系統(tǒng)處理能力遇到了瓶頸,在用戶訪問(wèn)系統(tǒng)時(shí)出現(xiàn)頁(yè)面反應(yīng)慢、數(shù)據(jù)處理效率低下的現(xiàn)象?;谝陨蠁?wèn)題,本文通過(guò)對(duì)數(shù)據(jù)庫(kù)進(jìn)行分布式設(shè)計(jì),對(duì)Web服務(wù)進(jìn)行負(fù)載均衡部署,在應(yīng)用層對(duì)不同數(shù)據(jù)進(jìn)行源整合,提出了一套對(duì)從數(shù)據(jù)到應(yīng)用的整體負(fù)載均衡方案。經(jīng)過(guò)壓力測(cè)試證明,本方案能夠有效提高系統(tǒng)的承載和處理能力。

      2 關(guān)鍵技術(shù)介紹與實(shí)現(xiàn)

      2.1 數(shù)據(jù)拆分

      從拆分規(guī)則上來(lái)說(shuō),數(shù)據(jù)拆分可分成兩種拆分的模式。一種是將不同的表分別拆分到不同的數(shù)據(jù)庫(kù)上面,這種拆分被稱作數(shù)據(jù)庫(kù)垂直拆分;第二種是根據(jù)表中的不同邏輯關(guān)系, 將一張表中的數(shù)據(jù)按照一定的條件拆分到不同的和數(shù)據(jù)庫(kù)上面,這種拆分叫做水平拆分。

      2.1.1 垂直拆分

      數(shù)據(jù)庫(kù)是由多個(gè)數(shù)據(jù)塊組成,我們將這些數(shù)據(jù)塊垂直拆開并分散到多個(gè)數(shù)據(jù)庫(kù)上面。具體就是將一個(gè)屬性較多,一行數(shù)據(jù)較大的表,把不同的屬性拆分到不同的表中,以降低單庫(kù)(表)大小,達(dá)到提升性能的目的的方法。垂直切分后, 各個(gè)庫(kù)(表)的結(jié)果不同, 每個(gè)庫(kù)(表)的屬性至少有一列交集, 所有庫(kù)(表)的并集是全量數(shù)據(jù)。

      一個(gè)應(yīng)用系統(tǒng)的整體功能是由多個(gè)功能模塊組成,數(shù)據(jù)庫(kù)中的一張或者多張表對(duì)應(yīng)到每個(gè)功能模塊需要的數(shù)據(jù)。不同的數(shù)據(jù)庫(kù)存放不同功能模塊的數(shù)據(jù),這種方式可以避免存在跨數(shù)據(jù)庫(kù)連接。垂直拆分的架構(gòu)如圖1所示。

      垂直拆分的優(yōu)點(diǎn)是數(shù)據(jù)庫(kù)的拆分簡(jiǎn)單、規(guī)則明確、系統(tǒng)模塊清晰、易整合、數(shù)據(jù)維護(hù)簡(jiǎn)單。

      圖1 垂直拆分

      2.1.2 水平拆分

      水平拆分是將某一張?jiān)L問(wèn)頻繁的表按照某個(gè)字段的規(guī)則來(lái)分散在多張表中,每個(gè)表中都包含了部分?jǐn)?shù)據(jù)。數(shù)據(jù)的水平拆分是將表中的部分行拆分到另外一個(gè)數(shù)據(jù)庫(kù)中,而其他行拆分到其他數(shù)據(jù)庫(kù)中。拆分需要按照特定的規(guī)則來(lái)進(jìn)行,這主要是為了讓我們能夠輕易的判定各行數(shù)據(jù)存放在哪一個(gè)數(shù)據(jù)庫(kù)中。如根據(jù)不同用戶群的編碼或者用戶工號(hào)等進(jìn)行拆分?;谟脩舻腎D進(jìn)行數(shù)據(jù)水平拆分,如圖2 所示。

      圖2 水平拆分

      水平拆分的優(yōu)點(diǎn)在于可以在數(shù)據(jù)庫(kù)端完成表的關(guān)聯(lián),不存在高負(fù)荷和大數(shù)據(jù)量的表,事務(wù)處理簡(jiǎn)單。

      2.1.3 聯(lián)合拆分

      在實(shí)際使用過(guò)程中,系統(tǒng)的業(yè)務(wù)邏輯經(jīng)常會(huì)較為復(fù)雜,系統(tǒng)負(fù)荷高,不能通過(guò)單一的數(shù)據(jù)拆分方式實(shí)現(xiàn),需要將兩種拆分方法進(jìn)行結(jié)合使用。

      聯(lián)合拆分的優(yōu)點(diǎn)為可以將垂直和水平拆分的優(yōu)點(diǎn)進(jìn)行結(jié)合,最大化提升系統(tǒng)的擴(kuò)展性。

      本方案采用的是聯(lián)合拆分的方法,將單一數(shù)據(jù)庫(kù)的數(shù)據(jù)存放在不同的數(shù)據(jù)庫(kù)中。具體來(lái)說(shuō),無(wú)線基站智能查勘系統(tǒng)包括勘察數(shù)據(jù)、查詢統(tǒng)計(jì)、 流程審核、人員管理、 GIS展示等子系統(tǒng),各個(gè)子系統(tǒng)的功能模塊耦合度低。首先把各個(gè)業(yè)務(wù)模塊拆分,拆分后的業(yè)務(wù)可以形成獨(dú)立子系統(tǒng)。具體做法就是把不同用戶群的基本信息、統(tǒng)計(jì)信息、人員管理等子系統(tǒng)的數(shù)據(jù)拆分并存儲(chǔ)在多個(gè)服務(wù)器的數(shù)據(jù)庫(kù)上并通過(guò)中間數(shù)據(jù)層對(duì)不同數(shù)據(jù)庫(kù)的數(shù)據(jù)進(jìn)行整合,整合后的分布式系統(tǒng)在用戶使用體驗(yàn)上與拆分前的系統(tǒng)相同。其次利用讀寫分離以及數(shù)據(jù)庫(kù)的分庫(kù)分表解決數(shù)據(jù)庫(kù)高頻讀寫的性能問(wèn)題。數(shù)據(jù)拆分的過(guò)程其實(shí)就是利用特定的手段,將存放在一個(gè)數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行分離并且存儲(chǔ)到多個(gè)云主機(jī)上從而減輕單個(gè)服務(wù)器的負(fù)載。除此之外,數(shù)據(jù)拆分還可以提高系統(tǒng)的穩(wěn)定性,例如突然單臺(tái)設(shè)備崩潰的情況只會(huì)導(dǎo)致總體數(shù)據(jù)的某部分不能正常的使用,其他部分的數(shù)據(jù)是安全的。

      2.2 基于Nginx技術(shù)的負(fù)載均衡

      對(duì)于并發(fā)訪問(wèn)量大、單臺(tái)服務(wù)器處理能力一般導(dǎo)致的卡頓、宕機(jī)的問(wèn)題,我們采用多服務(wù)器集群技術(shù)來(lái)應(yīng)對(duì),核心就是負(fù)載均衡。負(fù)載均衡技術(shù)能夠?qū)⒋罅坎l(fā)訪問(wèn)請(qǐng)求較為合理地均分到集群內(nèi)的各服務(wù)器進(jìn)行處理,從而能夠避免單個(gè)服務(wù)器訪問(wèn)數(shù)據(jù)量過(guò)大的情況,同時(shí)可以讓各個(gè)服務(wù)器的資源都能夠得到均衡使用。負(fù)載均衡目前主要有硬件負(fù)載均衡和軟件負(fù)載均衡兩種技術(shù),由于硬件的成本比較高昂,我們采用Nginx負(fù)載均衡的技術(shù)。Nginx是一款輕量級(jí)的Web服務(wù)器/反向代理服務(wù)器及電子郵件(IMAP/POP3)代理服務(wù)器,并在一個(gè)BSD-like協(xié)議下發(fā)行,其特點(diǎn)是占有內(nèi)存少,并發(fā)能力強(qiáng),并已在較多門戶網(wǎng)站中成功應(yīng)用。

      如圖3所示,我們可以將服務(wù)1部署到A、B兩臺(tái)不同的云主機(jī)上, 對(duì)服務(wù)2也可以做類似的部署。這樣部署既能夠有效的避免由于云主機(jī)故障導(dǎo)致的服務(wù)中斷,又能夠有效地利用了云主機(jī)的資源。

      圖3 負(fù)載均衡

      3 測(cè)試分析

      在方案應(yīng)用后,我們采用了專門的測(cè)試工具對(duì)改進(jìn)后的系統(tǒng)性能繼續(xù)綜合能力測(cè)試。

      3.1 測(cè)試工具

      在完成數(shù)據(jù)庫(kù)分庫(kù),并進(jìn)行Nginx負(fù)載均衡后,我們測(cè)試采用的軟件是LoadRunner。LoadRunner是一種預(yù)測(cè)系統(tǒng)行為和性能的負(fù)載測(cè)試工具。通過(guò)以模擬上千萬(wàn)用戶實(shí)施并發(fā)負(fù)載及實(shí)時(shí)性能監(jiān)測(cè)的方式來(lái)確認(rèn)和查找問(wèn)題,LoadRunner能夠?qū)φ麄€(gè)企業(yè)架構(gòu)進(jìn)行測(cè)試。企業(yè)使用LoadRunner能最大限度地縮短測(cè)試時(shí)間,優(yōu)化性能和加速應(yīng)用系統(tǒng)的發(fā)布周期。LoadRunner可適用于各種體系架構(gòu)的自動(dòng)負(fù)載測(cè)試,能預(yù)測(cè)系統(tǒng)行為并評(píng)估系統(tǒng)性能。

      3.2 測(cè)試性能指標(biāo)

      本次測(cè)試記錄和分析了并發(fā)用戶數(shù)量、業(yè)務(wù)響應(yīng)的時(shí)間、服務(wù)器資源利用率3個(gè)具有代表性的參數(shù)。

      3.2.1 并發(fā)用戶

      指模擬的所有用戶在同一時(shí)刻做同一事情或操作,這種操作主要針對(duì)同樣類型的業(yè)務(wù)或者所有用戶進(jìn)行同樣的操作,主要目的是測(cè)試系統(tǒng)對(duì)于并發(fā)操作的處理能力。

      3.2.2 響應(yīng)時(shí)間

      響應(yīng)時(shí)間主要是從用戶的角度出發(fā),分析操作的時(shí)間延遲。對(duì)于用戶來(lái)說(shuō),只能通過(guò)感覺(jué)時(shí)間的快慢來(lái)評(píng)價(jià)系統(tǒng)性能的優(yōu)劣,并發(fā)訪問(wèn)量等其他因素并不是他關(guān)心的重點(diǎn)。從某種程度上說(shuō),系統(tǒng)的平均響應(yīng)時(shí)間的快慢決定了Web應(yīng)用系統(tǒng)的性能好壞。通常情況下,響應(yīng)時(shí)間越短說(shuō)明系統(tǒng)應(yīng)對(duì)負(fù)載的能力越強(qiáng)。訪問(wèn)的用戶數(shù)越多,相應(yīng)的系統(tǒng)響應(yīng)時(shí)間就會(huì)越慢。

      3.2.3 資源利用率

      資源利用率只是針對(duì)系統(tǒng)資源的使用程度,是測(cè)試和分析系統(tǒng)瓶頸所在以及改善系統(tǒng)性能的重要依據(jù)。

      3.3 測(cè)試結(jié)果分析

      通過(guò)測(cè)試分析后,將分析結(jié)果與實(shí)施本方案前的數(shù)據(jù)進(jìn)行對(duì)比如圖4所示。

      圖4 測(cè)試結(jié)果

      3.3.1 并發(fā)用戶

      通過(guò)數(shù)據(jù)庫(kù)拆分以及負(fù)載均衡的優(yōu)化后,當(dāng)并發(fā)用戶達(dá)到13 430個(gè)的時(shí)候出現(xiàn)第一個(gè)訪問(wèn)錯(cuò)誤,隨著虛擬用戶并發(fā)訪問(wèn)量的進(jìn)一步增加,錯(cuò)誤數(shù)量的增加較少,瀏覽器訪問(wèn)網(wǎng)站頁(yè)面速度有所減慢,頁(yè)面可以正常登陸,數(shù)據(jù)庫(kù)運(yùn)行正常。

      3.3.2 系統(tǒng)平均響應(yīng)時(shí)間

      系統(tǒng)響應(yīng)時(shí)間和優(yōu)化前相比減少,減少時(shí)間平均在2 s左右。

      3.3.3 系統(tǒng)資源

      通過(guò)遠(yuǎn)程登錄查看云主機(jī)的資源,發(fā)現(xiàn)CPU利用率平均約56%,內(nèi)存利用率平均約55%,跟優(yōu)化前沒(méi)有明顯區(qū)別。與優(yōu)化前相比,服務(wù)器在增加了并發(fā)訪問(wèn)量的情況下,減少了系統(tǒng)響應(yīng)時(shí)間,提高了 Web服務(wù)器的資源的利用率。

      4 結(jié)束語(yǔ)

      本文綜合應(yīng)用數(shù)據(jù)庫(kù)分布式設(shè)計(jì)以及服務(wù)器負(fù)載均衡技術(shù),解決了高并發(fā)訪問(wèn)量、高頻讀寫數(shù)據(jù)庫(kù)表以及單臺(tái)服務(wù)器硬件能力一般帶來(lái)的訪問(wèn)變慢、宕機(jī)的問(wèn)題,減少了系統(tǒng)平均響應(yīng)時(shí)間,提高了系統(tǒng)資源的利用率,同時(shí)避免了因單一設(shè)備故障導(dǎo)致的服務(wù)停止的風(fēng)險(xiǎn)。

      猜你喜歡
      訪問(wèn)量利用率服務(wù)器
      通信控制服務(wù)器(CCS)維護(hù)終端的設(shè)計(jì)與實(shí)現(xiàn)
      化肥利用率穩(wěn)步增長(zhǎng)
      做好農(nóng)村土地流轉(zhuǎn) 提高土地利用率
      淺議如何提高涉煙信息的利用率
      高職院校圖書館電子資源中數(shù)據(jù)庫(kù)的使用情況分析
      卷宗(2016年12期)2017-04-19 20:57:30
      得形忘意的服務(wù)器標(biāo)準(zhǔn)
      如何做好搜索引擎優(yōu)化(SEO)提高新聞網(wǎng)站訪問(wèn)量
      活力(2016年9期)2016-08-01 22:41:45
      計(jì)算機(jī)網(wǎng)絡(luò)安全服務(wù)器入侵與防御
      一所大學(xué)有40人被確診為抑郁癥
      健康管理(2016年7期)2016-05-14 11:38:41
      板材利用率提高之研究
      桂东县| 临湘市| 奉新县| 周宁县| 那坡县| 巴楚县| 额济纳旗| 华池县| 建阳市| 民和| 惠东县| 墨江| 夏邑县| 乌苏市| 津南区| 绥中县| 平邑县| 新密市| 阳信县| 关岭| 永福县| 海城市| 瑞丽市| 通海县| 定兴县| 泰宁县| 桦甸市| 霍林郭勒市| 舒城县| 淮阳县| 临海市| 巫溪县| 泰兴市| 尉犁县| 顺平县| 景泰县| 靖边县| 竹山县| 门源| 郁南县| 卓资县|