国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Docker的MySQL數(shù)據(jù)庫(kù)性能分析

2021-09-10 23:03:37黃冰
無(wú)線互聯(lián)科技 2021年6期
關(guān)鍵詞:虛擬化性能

黃冰

摘 要:Docker的出現(xiàn)解決了傳統(tǒng)的網(wǎng)站開(kāi)發(fā)流程中由于不同的應(yīng)用及其所依賴的環(huán)境的復(fù)雜關(guān)系而造成的資源浪費(fèi)和項(xiàng)目風(fēng)險(xiǎn),極大地提高了項(xiàng)目開(kāi)發(fā)效率和質(zhì)量。因此,基于Docker的MySQL數(shù)據(jù)庫(kù)的性能是影響工程中使用Docker的一個(gè)非常關(guān)鍵的因素。文章基于此研究設(shè)計(jì)了MySQL的性能測(cè)試,針對(duì)不同大小的數(shù)據(jù)庫(kù)和不同的并發(fā)訪問(wèn)量,對(duì)MySQL和基于Docker的MySQL的性能進(jìn)行測(cè)試,并對(duì)結(jié)果進(jìn)行比較分析,驗(yàn)證了將MySQL數(shù)據(jù)庫(kù)部署在Docker上的應(yīng)用價(jià)值。

關(guān)鍵詞:Docker;虛擬化;MySQL;性能;數(shù)據(jù)庫(kù)服務(wù)器

0 引言

在開(kāi)發(fā)網(wǎng)站項(xiàng)目的過(guò)程中,傳統(tǒng)的流程是首先安裝好Web服務(wù)器、后臺(tái)數(shù)據(jù)等組件以及它們所依賴的環(huán)境,配置組合后進(jìn)行功能測(cè)試,看是否能夠正常工作,否則還需要切換不同的版本再調(diào)試,而且當(dāng)需要加入新應(yīng)用時(shí),事情會(huì)變得更加復(fù)雜。并且,在軟件項(xiàng)目流程中的各個(gè)階段都要重復(fù)上述環(huán)境搭建過(guò)程,從而耗費(fèi)大量的時(shí)間和人力成本[1],增加了項(xiàng)目的不可控性和風(fēng)險(xiǎn)。而基于容器化技術(shù)的Docker技術(shù)的出現(xiàn),提供了一種靈活的解決此類(lèi)問(wèn)題的方法,從而使開(kāi)發(fā)、測(cè)試、部署、運(yùn)維等的效率大大提高[2-4]。

在網(wǎng)站項(xiàng)目的后臺(tái)數(shù)據(jù)庫(kù)選擇上,目前比較流行的是MySQL,其性能表現(xiàn)非常好,再加上其開(kāi)源的特性,使得目前MySQL的應(yīng)用非常廣泛,即使最近NoSQL非關(guān)系型數(shù)據(jù)庫(kù)興起,也仍然無(wú)法撼動(dòng)包括MySQL在內(nèi)的關(guān)系型數(shù)據(jù)庫(kù)的地位[5]。

本文將測(cè)試并比較分析基于物理機(jī)的MySQL和基于Docker的MySQL的性能,為在網(wǎng)站項(xiàng)目中采用Docker技術(shù)提供依據(jù)。

1 測(cè)試環(huán)境及設(shè)計(jì)

1.1 環(huán)境

1.1.1? 硬件環(huán)境

本次測(cè)試在同一主機(jī)上安裝MySQL以及Docker,保證兩次測(cè)試使用相同的硬件資源。主機(jī)采用的是1.8 GHz的CPU和8G的內(nèi)存。為了防止網(wǎng)絡(luò)延時(shí)影響測(cè)試結(jié)果,本測(cè)試將服務(wù)器主機(jī)和客戶端配置在同一個(gè)局域網(wǎng)段內(nèi)。

1.1.2? 軟件環(huán)境

服務(wù)器的操作系統(tǒng)采用Centos 7.5版本,Docker版本是目前最新的1.13.1版本,MySQL版本是8.0.13。為了讓測(cè)試的效果更加準(zhǔn)確可靠,采用了流行的壓力測(cè)試框架sysbench,使用的版本是1.0.15。

1.2 設(shè)計(jì)

本次測(cè)試設(shè)計(jì)了只讀和讀寫(xiě)混合操作測(cè)試兩種情況。按照數(shù)據(jù)庫(kù)大小、表數(shù)量以及表的記錄數(shù)劃分,界定數(shù)據(jù)庫(kù)的并發(fā)訪問(wèn)數(shù),根據(jù)網(wǎng)站項(xiàng)用戶和頻次分為四種并發(fā)量,分別是30,60,90,120。對(duì)于每一種情況,壓測(cè)的腳本將運(yùn)行1分鐘并通過(guò)計(jì)算平均每秒的數(shù)據(jù)來(lái)獲得最終數(shù)據(jù)。

第一種只讀操作測(cè)試針對(duì)20張數(shù)據(jù)表進(jìn)行讀操作,數(shù)據(jù)表的記錄數(shù)分別為1 000,5 000,25 000,3種數(shù)量級(jí),考慮到后期項(xiàng)目擴(kuò)展的情況,本次測(cè)試增加一種40張表的情況,以達(dá)到比較全面的測(cè)試。

第二種是兩張常用的數(shù)據(jù)表進(jìn)行大量的讀寫(xiě)操作,這兩張常用的數(shù)據(jù)表的記錄分別采用10 000,100 000,1 000 000這3種數(shù)量級(jí)。

為了確保測(cè)試的數(shù)據(jù)有效,在準(zhǔn)備測(cè)試數(shù)據(jù)表時(shí),一律采用隨機(jī)生成的數(shù)據(jù),有效防止由于對(duì)數(shù)據(jù)庫(kù)緩存使用頻率的不同造成的測(cè)試結(jié)果偏差。

對(duì)于實(shí)驗(yàn)的數(shù)據(jù)結(jié)果主要關(guān)注TPS:Transactions Per Second,每秒完成的數(shù)目。

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

2.1 只讀操作

第一種情況的測(cè)試案例,對(duì)數(shù)據(jù)庫(kù)只做讀(查詢)操作的測(cè)試,得到了如圖1的數(shù)據(jù)對(duì)比圖。

從圖1中可以看到,直接在物理機(jī)上的性能略優(yōu)于在Docker中的性能,比較大的差距出現(xiàn)在120個(gè)線程,差距大小在10%左右,其他大部分情況下差距都在5%以內(nèi)。

2.2 讀寫(xiě)混合

第二種情況的測(cè)試案例,對(duì)數(shù)據(jù)庫(kù)進(jìn)行了讀寫(xiě)(查詢,插入,更新,刪除)操作的測(cè)試,得到了如圖2的數(shù)據(jù)對(duì)比圖。

從圖2和圖1的對(duì)比中可以看到,相比于只做讀操作的測(cè)試,在讀寫(xiě)混合的操作模式下,兩種MySQL的效率顯得更為接近。

綜合上述兩種情況,可以看到,在同樣的壓測(cè)腳本以及同樣的軟硬件環(huán)境和同一個(gè)局域網(wǎng)中,使用隨機(jī)的數(shù)據(jù),基于Docker的性能要略遜于基于物理機(jī)的性能,但總體來(lái)看差距比較小。

對(duì)于每秒完成的事務(wù)數(shù)(TPS)比較大的差距出現(xiàn)在使用120個(gè)線程做只讀操作的情況下,差距在10%左右,其余情況下差距小于10%,甚至比較接近,特別是讀寫(xiě)混合操作。

3 結(jié)語(yǔ)

在網(wǎng)站和軟件開(kāi)發(fā)、測(cè)試、部署中,最讓人頭疼的問(wèn)題是各種環(huán)境配置等不一致造成的問(wèn)題,而Docker的使用能夠保證軟件開(kāi)發(fā)流程各個(gè)階段的環(huán)境的一致性,從而大大提高了項(xiàng)目的效率和質(zhì)量。

通過(guò)本次性能測(cè)試發(fā)現(xiàn),基于Docker的性能雖然略遜于基于物理機(jī)的性能,但差距較小,可以消除在實(shí)際項(xiàng)目中采用Docker部署MySQL的疑慮,這也從一個(gè)側(cè)面展示了Docker這種新的、耗費(fèi)資源較少的虛擬化技術(shù)所具備的價(jià)值。當(dāng)然,如果在并發(fā)訪問(wèn)量比較大的系統(tǒng)中,這種差距在某些時(shí)候可能達(dá)到10%,這時(shí)就需要項(xiàng)目經(jīng)理或者開(kāi)發(fā)者去權(quán)衡利弊,以決定是否要在Docker中部署MySQL。

[參考文獻(xiàn)]

[1]楊保華,戴王劍,曹亞侖,等.Docker技術(shù)入門(mén)與實(shí)戰(zhàn)[M].北京:機(jī)械工業(yè)出版社,2015.

[2]胡湘菲.軟件自動(dòng)化測(cè)試環(huán)境搭建中的Docker應(yīng)用[J].計(jì)算機(jī)時(shí)代,2017(3):26-29.

[3]凌云.基于Docker平臺(tái)的DevOps運(yùn)維系統(tǒng)的研究與改進(jìn)[J].電腦知識(shí)與技術(shù),2018(26):209-211.

[4]鄒保平,黃文思,張文晉,等.基于Docker的應(yīng)用部署管理平臺(tái)研究[J].電子設(shè)計(jì)工程,2017(12):41-44.

[5]權(quán)治,宋晶晶.基于NoSQL的數(shù)據(jù)庫(kù)技術(shù)分析[J].無(wú)線電工程,2013(9):4-6.

(編輯 何 琳)

猜你喜歡
虛擬化性能
提供將近80 Gbps的帶寬性能 DisplayPort 2.0正式發(fā)布
基于OpenStack虛擬化網(wǎng)絡(luò)管理平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)
電子制作(2019年10期)2019-06-17 11:45:10
對(duì)基于Docker的虛擬化技術(shù)的幾點(diǎn)探討
電子制作(2018年14期)2018-08-21 01:38:20
虛擬化技術(shù)在計(jì)算機(jī)技術(shù)創(chuàng)造中的應(yīng)用
Al-Se雙元置換的基于LGPS的thio-LISICON的制備與性能表征
存儲(chǔ)虛擬化還有優(yōu)勢(shì)嗎?
強(qiáng)韌化PBT/PC共混物的制備與性能
RDX/POLY(BAMO-AMMO)基發(fā)射藥的熱分解與燃燒性能
聂拉木县| 汕头市| 岳池县| 新营市| 任丘市| 舟曲县| 贺州市| 襄城县| 新巴尔虎右旗| 扶余县| 吴堡县| 金溪县| 南皮县| 黄浦区| 曲阜市| 比如县| 清原| 广灵县| 保靖县| 饶平县| 沙雅县| 晋城| 清原| 灵山县| 千阳县| 麻江县| 许昌县| 集安市| 岗巴县| 乌兰察布市| 吴桥县| 海南省| 阜南县| 木里| 铅山县| 昂仁县| 山阴县| 集贤县| 静乐县| 五原县| 永清县|