999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Mem cached在高并發訪問場景下的應用

2015-08-10 02:22:25孟海虹國家新聞出版廣電總局九五一臺石家莊050000
山東工業技術 2015年15期
關鍵詞:互聯網

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

Mem cached在高并發訪問場景下的應用

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

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

關鍵詞:互聯網;Memcached;網絡服務

1 Mem cached介紹

Memcached是一個開源的、高性能的分布式內存對象緩存系統,一般用于動態應用以減輕數據庫壓力。它通過在內存中緩存數據和對象來減少讀取數據庫的次數,從而提高動態、數據庫驅動網站的速度。Mem cached基于一個存儲鍵/值對的hashmap。其守護進程是用C語言實現的,但是客戶端可以用任何語言來編寫,并通過memcached協議與守護進程通信。

現在常用的Memcached客戶多有多種,如傳統Memcached、Xmemcached和SpyMemcached。本文主要討論Xmemcached。Xmemcached是一個Java實現的Memcached客戶端,比起官方客戶端,它有以下優勢:

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

(2)支持動態添加和刪除Mem cached節點。

(3)支持客戶端統計

(4)支持JMX監控和統計,可以通過JMX增刪節點。

(5)高性能

(6)支持節點的權重設置

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

2 Mem cached的安裝和使用

2.1Mem cached的安裝

(1) 環 境:X86_64架 構 服 務 器、Linux系 統、jdk5.0+、Memcached服務器端、Xmemcached客戶端。

(2)服務器端安裝

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

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

(3)客戶端安裝

客戶端可使用maven的方式進行安裝使用:

<dependency>

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

<artifactId>xmemcached</artifactId>

<version>{version}</version>

</dependency>

具體maven的使用不再贅述。

2.2Mem cached的使用

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

(1)首先創建xmemcached實例,此實例使用二進制協議。并且可動態添加服務器端實例。

XMemcachedClientBuilderbuilder=new

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

builder.setCommandFactory(newBinaryCommandFactory());

XMem cachedClient client=builder.build();

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

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

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

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

3 Mem cached的數據測試

本測試將java-mem cached,spymemcached與xmem cached進行性能對比,對比包含三項參數,并發量(TPS)、傳輸數據大小和線程數。

3.1測試環境

(1)軟件環境

Memcached服務器版本:1.4.5,默認設置,運行參數 "-p12000-m 1572864"。

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

(2)硬件環境

1號服務器端:

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

2號服務器端

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

3號服務器端

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

客戶端

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

3.2測試結果

通過測試結果我們可以得出結論:隨著網絡數據傳輸量的增大,同線程數下吞吐量越來越小,增加線程數可有效提高吞吐量。在低線程數下,Java-mem cached客戶端性能優勢比較明顯,高線程數下javamemcached客戶端與Xmemcached客戶端性能接近。在低網絡傳輸量條件下,Spymemcached客戶端劣勢比較明顯,在傳輸較大數據時,各客戶端表現趨于相同。

4 總結

(1)若需要提高動態應用讀取能力,可部署多臺高性能大內存服務器運行Memcached服務器端,利用空間換時間得到最優的效果。

(2)為了提高Memcached效率,盡量使用業務邏輯來區分Memcached服務器,使得取值命中率提升,避免遍歷服務器造成無謂的性能損失。

(3)為更強cpu和更大內存的服務器設置高權重值,達到物盡其用的效果。

(4)故障轉移和擴容的問題:memcached它不是一個分布式的系統,嚴格來說是個單點系統,所謂的分布式只是借助客戶端來實現的。所以它沒有那些開源分布式系統那樣的高可用性,所以需要從客戶端這里解決單點問題和擴容問題??墒褂靡韵聝煞N方法:

1)一致性哈希:依賴于一致性哈希的特點,節點故障或擴容加節點時對集群影響較小,節點調整的最初一段時間內,會有一部分緩存丟失,穿透到后端的數據庫上,在高并發的應用里,要做好并發控制,以免對數據庫造成壓力。

2)雙寫機制:客戶端維護兩個集群,每次更新數據的時候同時更新兩份,讀取的時候隨機(或固定)讀取一份,這種情況下集群的可用性和穩定性很高,可以無痛變更,節點故障或擴容對緩存和后端數據庫都沒有影響。當然,這樣做也是有代價的:一是兩份數據的一致性問題,不過對緩存來說,這種極少數的不一致情況是可以容忍的;另一個是內存浪費的問題,通過冗余一份數據來減少故障率,但是代價比較大,并不適合大型的互聯網應用。

(5)隨著網絡傳輸量的增大,性能下降比較大,應避免傳輸過大的數據。

(6)數據預熱問題。由于Memcached是一套內存緩存系統,當系統剛剛啟動時,會有一個寫緩存的過程,數據量不同寫入時間也不同。所以系統啟動初期會有一個訪問較慢的過程,隨著緩存機制逐漸起作用,系統性能會逐漸過渡到加緩存后的正常狀態。

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

(8)Memcached將數據保存在內存里,并沒有持久化,遇到停電或者故障等情況數據會丟失,所以并不能將其當作傳統的數據庫來使用。

猜你喜歡
互聯網
互聯網+背景下數學試驗課程的探究式教學改革
科技視界(2016年21期)2016-10-17 18:47:55
基于“互聯網+”的京東自營物流配送效率分析
科技視界(2016年21期)2016-10-17 18:37:15
互聯網+醫療保健網的設計
科技視界(2016年21期)2016-10-17 17:07:28
試論網絡大環境下音樂作品的法律保護問題
商(2016年27期)2016-10-17 06:43:49
淺談大數據在出版業的應用
今傳媒(2016年9期)2016-10-15 23:35:12
淺析互聯網時代維基百科的生產模式
今傳媒(2016年9期)2016-10-15 22:51:03
“互聯網+”環境之下的著作權保護
今傳媒(2016年9期)2016-10-15 22:15:57
“互聯網+”對傳統圖書出版的影響和推動作用
今傳媒(2016年9期)2016-10-15 22:09:11
從“數據新聞”看當前互聯網新聞信息傳播生態
今傳媒(2016年9期)2016-10-15 22:06:04
互聯網背景下大學生創新創業訓練項目的實施
考試周刊(2016年79期)2016-10-13 23:23:28
主站蜘蛛池模板: 99久久国产综合精品2023| 伊人AV天堂| 久久精品电影| 亚洲另类色| 一区二区三区精品视频在线观看| 成人蜜桃网| 国产精品自在自线免费观看| 精品日韩亚洲欧美高清a| 精品综合久久久久久97超人该 | 久青草免费在线视频| 婷婷丁香在线观看| 亚洲欧美不卡中文字幕| 亚洲国产成人无码AV在线影院L| 久久毛片网| 久久久久亚洲精品成人网| 国产免费久久精品99re丫丫一| 国产亚洲欧美在线专区| 国产青青草视频| 中字无码av在线电影| 最新无码专区超级碰碰碰| 3344在线观看无码| 日韩av高清无码一区二区三区| 国产精品播放| 黄色福利在线| 日本久久网站| 亚洲欧美自拍中文| 亚洲精品无码高潮喷水A| 无码高潮喷水在线观看| 国产亚洲男人的天堂在线观看| 婷婷六月天激情| 精品精品国产高清A毛片| 国产精品人莉莉成在线播放| 三区在线视频| 国产99精品久久| 国产xxxxx免费视频| 91精选国产大片| a级毛片网| 999福利激情视频| 超碰精品无码一区二区| 亚洲成在人线av品善网好看| 欧洲欧美人成免费全部视频| 精品视频第一页| 播五月综合| 91亚瑟视频| 国产人人射| 欧美成人二区| 小13箩利洗澡无码视频免费网站| a在线亚洲男人的天堂试看| 国产欧美日韩综合一区在线播放| 欧美日韩精品综合在线一区| 日韩美毛片| 国产精品久久久久久影院| 伊人色天堂| 黄色免费在线网址| 国产亚洲欧美日韩在线观看一区二区| 亚洲高清日韩heyzo| 色呦呦手机在线精品| 88国产经典欧美一区二区三区| 波多野结衣第一页| 日韩黄色大片免费看| 中国国产A一级毛片| 天天色天天综合网| 五月婷婷丁香综合| 黄色网址免费在线| 日韩精品无码免费一区二区三区| 91欧美亚洲国产五月天| 秘书高跟黑色丝袜国产91在线| 亚洲国产中文在线二区三区免| AV无码无在线观看免费| 国产欧美日韩18| 欧洲亚洲欧美国产日本高清| 亚洲精品卡2卡3卡4卡5卡区| 国产精品亚洲天堂| 麻豆AV网站免费进入| 欧美三级日韩三级| 亚洲高清资源| 亚洲一区第一页| 精品福利网| 亚洲日韩欧美在线观看| 91精品国产情侣高潮露脸| 欧美色图久久| 亚洲第一在线播放|