亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        Mem cached在高并發(fā)訪問(wèn)場(chǎng)景下的應(yīng)用

        2015-08-10 02:22:25孟海虹國(guó)家新聞出版廣電總局九五一臺(tái)石家莊050000
        山東工業(yè)技術(shù) 2015年15期
        關(guān)鍵詞:互聯(lián)網(wǎng)

        孟海虹(國(guó)家新聞出版廣電總局九五一臺(tái), 石家莊 050000)

        Mem cached在高并發(fā)訪問(wèn)場(chǎng)景下的應(yīng)用

        孟海虹
        (國(guó)家新聞出版廣電總局九五一臺(tái),石家莊050000)

        摘要:隨著互聯(lián)網(wǎng)和物聯(lián)網(wǎng)的高速發(fā)展,使用網(wǎng)絡(luò)的人數(shù)和電子設(shè)備的數(shù)量急劇增長(zhǎng),對(duì)互聯(lián)網(wǎng)后臺(tái)服務(wù)程序提出了更高的性能和并發(fā)要求。同時(shí)用戶對(duì)網(wǎng)絡(luò)服務(wù)內(nèi)容也有了更高的的要求,以web頁(yè)面舉例,區(qū)別于傳統(tǒng)新聞資訊類網(wǎng)頁(yè),現(xiàn)在網(wǎng)民使用更多的是具有個(gè)性化功能的動(dòng)態(tài)頁(yè)面和移動(dòng)客戶端app,這些都對(duì)服務(wù)器、網(wǎng)絡(luò)和軟件提出了性能方面更高的要求。傳統(tǒng)的服務(wù)器端腳本調(diào)用數(shù)據(jù)庫(kù)的方式在如此大的訪問(wèn)壓力下變得越來(lái)越力不從心,而新興的NOSQL文檔型數(shù)據(jù)庫(kù)又對(duì)事務(wù)的處理力度不夠,這樣的情況下就需要對(duì)現(xiàn)有模式進(jìn)行改造,使軟件整體架構(gòu)既能保留對(duì)事務(wù)的完整支持,又能承受高并發(fā)帶來(lái)的壓力。本文對(duì)此種新架構(gòu)進(jìn)行了探索。

        關(guān)鍵詞:互聯(lián)網(wǎng);Memcached;網(wǎng)絡(luò)服務(wù)

        1 Mem cached介紹

        Memcached是一個(gè)開源的、高性能的分布式內(nèi)存對(duì)象緩存系統(tǒng),一般用于動(dòng)態(tài)應(yīng)用以減輕數(shù)據(jù)庫(kù)壓力。它通過(guò)在內(nèi)存中緩存數(shù)據(jù)和對(duì)象來(lái)減少讀取數(shù)據(jù)庫(kù)的次數(shù),從而提高動(dòng)態(tài)、數(shù)據(jù)庫(kù)驅(qū)動(dòng)網(wǎng)站的速度。Mem cached基于一個(gè)存儲(chǔ)鍵/值對(duì)的hashmap。其守護(hù)進(jìn)程是用C語(yǔ)言實(shí)現(xiàn)的,但是客戶端可以用任何語(yǔ)言來(lái)編寫,并通過(guò)memcached協(xié)議與守護(hù)進(jìn)程通信。

        現(xiàn)在常用的Memcached客戶多有多種,如傳統(tǒng)Memcached、Xmemcached和SpyMemcached。本文主要討論Xmemcached。Xmemcached是一個(gè)Java實(shí)現(xiàn)的Memcached客戶端,比起官方客戶端,它有以下優(yōu)勢(shì):

        (1)支持所有的文本協(xié)議和二進(jìn)制協(xié)議,支持連接Kestrel和TokyoTyrant等Memcached協(xié)議兼容的系統(tǒng)并作特殊處理。

        (2)支持動(dòng)態(tài)添加和刪除Mem cached節(jié)點(diǎn)。

        (3)支持客戶端統(tǒng)計(jì)

        (4)支持JMX監(jiān)控和統(tǒng)計(jì),可以通過(guò)JMX增刪節(jié)點(diǎn)。

        (5)高性能

        (6)支持節(jié)點(diǎn)的權(quán)重設(shè)置

        (7)支持nio的連接池,在高負(fù)載環(huán)境下提高吞吐量

        2 Mem cached的安裝和使用

        2.1Mem cached的安裝

        (1) 環(huán) 境:X86_64架 構(gòu) 服 務(wù) 器、Linux系 統(tǒng)、jdk5.0+、Memcached服務(wù)器端、Xmemcached客戶端。

        (2)服務(wù)器端安裝

        下載wget http://memcached.org/latest解壓縮 tar -zxvfmemcached-1.x.x.tar.gz

        安裝./configure&& make && make test && sudo make install

        (3)客戶端安裝

        客戶端可使用maven的方式進(jìn)行安裝使用:

        <dependency>

        <group Id>com.googlecode.xmem cached</group Id>

        <artifactId>xmemcached</artifactId>

        <version>{version}</version>

        </dependency>

        具體maven的使用不再贅述。

        2.2Mem cached的使用

        安裝完畢之后就可以使用java調(diào)用xmencached的功能,具體如下:

        (1)首先創(chuàng)建xmemcached實(shí)例,此實(shí)例使用二進(jìn)制協(xié)議。并且可動(dòng)態(tài)添加服務(wù)器端實(shí)例。

        XMemcachedClientBuilderbuilder=new

        XMemcachedClientBuilder(AddrUtil.getAddresses("localhost:11211"));

        builder.setCommandFactory(newBinaryCommandFactory());

        XMem cachedClient client=builder.build();

        (2)將數(shù)據(jù)加入緩存以及取出

        加入:client.add("key", 0, "value");

        取出:String value =client.get("key");

        設(shè)置服務(wù)器權(quán)重為2:client.addServer("localhost",12000,2),服務(wù)器權(quán)重越大,則從此服務(wù)器取出數(shù)據(jù)的幾率越大。

        3 Mem cached的數(shù)據(jù)測(cè)試

        本測(cè)試將java-mem cached,spymemcached與xmem cached進(jìn)行性能對(duì)比,對(duì)比包含三項(xiàng)參數(shù),并發(fā)量(TPS)、傳輸數(shù)據(jù)大小和線程數(shù)。

        3.1測(cè)試環(huán)境

        (1)軟件環(huán)境

        Memcached服務(wù)器版本:1.4.5,默認(rèn)設(shè)置,運(yùn)行參數(shù) "-p12000-m 1572864"。

        Memcached客戶端:JVM版本:Sun JDK1.6.0_06, 使用 memcached文本協(xié)議,Xmemcached版本1.2.6.1,默認(rèn)設(shè)置,Spymemcached 2.5版本,默認(rèn)設(shè)置,Memcached-Java客戶端版本2.5.1,由于Xmemcached和Spymem cached是基于異步模式所以他們需要設(shè)置超時(shí)時(shí)間,設(shè)置為5秒過(guò)期。

        (2)硬件環(huán)境

        1號(hào)服務(wù)器端:

        CPU::8 x Intel(R) Xeon(R) CPU E5410 @ 2.33GHz,操作系統(tǒng):Linux 2.6.9-67.ELsmp #1 SMP GNU/Linux,內(nèi)存:16 GiB,網(wǎng)絡(luò)適配器:Broadcom NetXtreme Gigabit Ethernet PCI express

        2號(hào)服務(wù)器端

        CPU:4 x I Intel(R) Xeon(R) CPU 5120 @ 1.86GHz,操作系統(tǒng):Linux 2.6.9-67.ELsmp #1 SMPGNU/Linux,內(nèi)存:4 GiB,網(wǎng)絡(luò)適配器:Broadcom NetX treme Gigabit Ethernet PCI express

        3號(hào)服務(wù)器端

        CPU:4 x I Intel(R) Xeon(R) CPU 5120 @ 1.86GHz,操作系統(tǒng):Linux 2.6.9-67.ELsmp #1 SMP GNU/Linux,內(nèi)存:4 GiB,網(wǎng)絡(luò)適配器:Broadcom NetXtreme Gigabit Ethernet PCI express

        客戶端

        CPU:8 x Intel(R) Xeon(R) CPU E5410 @ 2.33GHz,操作系統(tǒng):2.6.9-67.ELsmp #1 SMP GNU/Linux,內(nèi)存:16 GiB,網(wǎng)絡(luò)適配器:Broadcom NetXtreme Gigabit Ethernet PCI express

        3.2測(cè)試結(jié)果

        通過(guò)測(cè)試結(jié)果我們可以得出結(jié)論:隨著網(wǎng)絡(luò)數(shù)據(jù)傳輸量的增大,同線程數(shù)下吞吐量越來(lái)越小,增加線程數(shù)可有效提高吞吐量。在低線程數(shù)下,Java-mem cached客戶端性能優(yōu)勢(shì)比較明顯,高線程數(shù)下javamemcached客戶端與Xmemcached客戶端性能接近。在低網(wǎng)絡(luò)傳輸量條件下,Spymemcached客戶端劣勢(shì)比較明顯,在傳輸較大數(shù)據(jù)時(shí),各客戶端表現(xiàn)趨于相同。

        4 總結(jié)

        (1)若需要提高動(dòng)態(tài)應(yīng)用讀取能力,可部署多臺(tái)高性能大內(nèi)存服務(wù)器運(yùn)行Memcached服務(wù)器端,利用空間換時(shí)間得到最優(yōu)的效果。

        (2)為了提高M(jìn)emcached效率,盡量使用業(yè)務(wù)邏輯來(lái)區(qū)分Memcached服務(wù)器,使得取值命中率提升,避免遍歷服務(wù)器造成無(wú)謂的性能損失。

        (3)為更強(qiáng)cpu和更大內(nèi)存的服務(wù)器設(shè)置高權(quán)重值,達(dá)到物盡其用的效果。

        (4)故障轉(zhuǎn)移和擴(kuò)容的問(wèn)題:memcached它不是一個(gè)分布式的系統(tǒng),嚴(yán)格來(lái)說(shuō)是個(gè)單點(diǎn)系統(tǒng),所謂的分布式只是借助客戶端來(lái)實(shí)現(xiàn)的。所以它沒(méi)有那些開源分布式系統(tǒng)那樣的高可用性,所以需要從客戶端這里解決單點(diǎn)問(wèn)題和擴(kuò)容問(wèn)題??墒褂靡韵聝煞N方法:

        1)一致性哈希:依賴于一致性哈希的特點(diǎn),節(jié)點(diǎn)故障或擴(kuò)容加節(jié)點(diǎn)時(shí)對(duì)集群影響較小,節(jié)點(diǎn)調(diào)整的最初一段時(shí)間內(nèi),會(huì)有一部分緩存丟失,穿透到后端的數(shù)據(jù)庫(kù)上,在高并發(fā)的應(yīng)用里,要做好并發(fā)控制,以免對(duì)數(shù)據(jù)庫(kù)造成壓力。

        2)雙寫機(jī)制:客戶端維護(hù)兩個(gè)集群,每次更新數(shù)據(jù)的時(shí)候同時(shí)更新兩份,讀取的時(shí)候隨機(jī)(或固定)讀取一份,這種情況下集群的可用性和穩(wěn)定性很高,可以無(wú)痛變更,節(jié)點(diǎn)故障或擴(kuò)容對(duì)緩存和后端數(shù)據(jù)庫(kù)都沒(méi)有影響。當(dāng)然,這樣做也是有代價(jià)的:一是兩份數(shù)據(jù)的一致性問(wèn)題,不過(guò)對(duì)緩存來(lái)說(shuō),這種極少數(shù)的不一致情況是可以容忍的;另一個(gè)是內(nèi)存浪費(fèi)的問(wèn)題,通過(guò)冗余一份數(shù)據(jù)來(lái)減少故障率,但是代價(jià)比較大,并不適合大型的互聯(lián)網(wǎng)應(yīng)用。

        (5)隨著網(wǎng)絡(luò)傳輸量的增大,性能下降比較大,應(yīng)避免傳輸過(guò)大的數(shù)據(jù)。

        (6)數(shù)據(jù)預(yù)熱問(wèn)題。由于Memcached是一套內(nèi)存緩存系統(tǒng),當(dāng)系統(tǒng)剛剛啟動(dòng)時(shí),會(huì)有一個(gè)寫緩存的過(guò)程,數(shù)據(jù)量不同寫入時(shí)間也不同。所以系統(tǒng)啟動(dòng)初期會(huì)有一個(gè)訪問(wèn)較慢的過(guò)程,隨著緩存機(jī)制逐漸起作用,系統(tǒng)性能會(huì)逐漸過(guò)渡到加緩存后的正常狀態(tài)。

        (7)通過(guò)設(shè)置合適的算法如LRU和合理的過(guò)期時(shí)間,能夠使得Memcached系統(tǒng)的命中率有效的提高。

        (8)Memcached將數(shù)據(jù)保存在內(nèi)存里,并沒(méi)有持久化,遇到停電或者故障等情況數(shù)據(jù)會(huì)丟失,所以并不能將其當(dāng)作傳統(tǒng)的數(shù)據(jù)庫(kù)來(lái)使用。

        猜你喜歡
        互聯(lián)網(wǎng)
        互聯(lián)網(wǎng)+背景下數(shù)學(xué)試驗(yàn)課程的探究式教學(xué)改革
        科技視界(2016年21期)2016-10-17 18:47:55
        基于“互聯(lián)網(wǎng)+”的京東自營(yíng)物流配送效率分析
        科技視界(2016年21期)2016-10-17 18:37:15
        互聯(lián)網(wǎng)+醫(yī)療保健網(wǎng)的設(shè)計(jì)
        科技視界(2016年21期)2016-10-17 17:07:28
        試論網(wǎng)絡(luò)大環(huán)境下音樂(lè)作品的法律保護(hù)問(wèn)題
        商(2016年27期)2016-10-17 06:43:49
        淺談大數(shù)據(jù)在出版業(yè)的應(yīng)用
        今傳媒(2016年9期)2016-10-15 23:35:12
        淺析互聯(lián)網(wǎng)時(shí)代維基百科的生產(chǎn)模式
        今傳媒(2016年9期)2016-10-15 22:51:03
        “互聯(lián)網(wǎng)+”環(huán)境之下的著作權(quán)保護(hù)
        今傳媒(2016年9期)2016-10-15 22:15:57
        “互聯(lián)網(wǎng)+”對(duì)傳統(tǒng)圖書出版的影響和推動(dòng)作用
        今傳媒(2016年9期)2016-10-15 22:09:11
        從“數(shù)據(jù)新聞”看當(dāng)前互聯(lián)網(wǎng)新聞信息傳播生態(tài)
        今傳媒(2016年9期)2016-10-15 22:06:04
        互聯(lián)網(wǎng)背景下大學(xué)生創(chuàng)新創(chuàng)業(yè)訓(xùn)練項(xiàng)目的實(shí)施
        考試周刊(2016年79期)2016-10-13 23:23:28
        国产av一区二区三区天堂综合网| 国产久视频| 亚洲国产av自拍精选| 在线亚洲日本一区二区| 少妇真实被内射视频三四区| 亚洲男同志网站| 国产成人一区二区三区免费观看| 人妻免费黄色片手机版| 久久免费看的少妇一级特黄片| 精品欧洲av无码一区二区14| 少妇激情av一区二区| 国产 无码 日韩| 91偷拍与自偷拍亚洲精品86| 蜜桃日本免费看mv免费版| 亚洲网站地址一地址二| 视频网站在线观看不卡| av男人的天堂亚洲综合网| 一本色道无码道dvd在线观看| 在线一区不卡网址观看| 性视频毛茸茸女性一区二区| 免费国产在线视频自拍白浆| 国产青草视频在线观看| 免费精品美女久久久久久久久久| 少妇高潮免费在线观看| 摸丰满大乳奶水www免费| 美女视频黄的全免费的| 四虎无码精品a∨在线观看| 按摩师玩弄少妇到高潮av| 免费a级毛片18以上观看精品| 亚洲综合网在线观看首页| 国产成年女人特黄特色毛片免| 蜜臀一区二区三区精品| 开心五月激情综合婷婷| 久久青草亚洲AV无码麻豆| 中文字幕亚洲精品专区| 成人av鲁丝片一区二区免费| 欧美极品第一页| 亚洲另类国产精品中文字幕| 2018天天躁夜夜躁狠狠躁| 亚洲欧美精品aaaaaa片| 国产传媒剧情久久久av|