亚洲人成网站在线播放2019 _日韩国产欧美精品_久久夜色精品国产欧美乱_在线视频福利一区

當(dāng)前位置:首頁(yè) > 網(wǎng)站舊欄目 > 學(xué)習(xí)園地 > 設(shè)計(jì)軟件教程 > gen_server tasting 之超簡(jiǎn)單名稱服務(wù)(再續(xù))

gen_server tasting 之超簡(jiǎn)單名稱服務(wù)(再續(xù))
2010-01-13 23:15:27  作者:  來(lái)源:
   前幾天寫(xiě)了篇《gen_server tasting 之超簡(jiǎn)單名稱服務(wù)(續(xù)) 》東西,親身體驗(yàn)了 erlang otp 的強(qiáng)悍威力。這周正好有時(shí)間對(duì) vsns/erlang 做個(gè)性能測(cè)試,驗(yàn)證傳說(shuō)中的 erlang 強(qiáng)大威力,其中包括了容錯(cuò)測(cè)試用例,關(guān)注在大并發(fā)壓力下(13000tps)時(shí),服務(wù) oops 后通過(guò) supervisor restart 時(shí)對(duì)整體性能的影響。在最后還包括了一些對(duì)服務(wù)容錯(cuò)設(shè)計(jì)上的一些思考。

 

測(cè)試用例設(shè)計(jì)

設(shè)計(jì)兩個(gè)場(chǎng)景,都配置 200 并發(fā)壓力:

 

  1. Complex: 通過(guò) socket 混合調(diào)用 vsns 服務(wù)的 load_all、remove_all、remove、save、load 請(qǐng)求。無(wú) Think time 迭代執(zhí)行5分鐘。用來(lái)取得服務(wù)滿負(fù)載情況下吞吐量、響應(yīng)時(shí)間及資源利用率性能指標(biāo)。
  2. Crash: 在執(zhí)行 Complex 場(chǎng)景過(guò)程中通過(guò) kernel_oops 調(diào)用來(lái) crash 名稱服務(wù)。啟用“continue on error” LoadRunner run-time 選項(xiàng)。用來(lái)取得服務(wù)滿負(fù)載情況下,執(zhí)行容錯(cuò)對(duì)吞吐量、響應(yīng)時(shí)間及資源利用率性能指標(biāo)的影響。

環(huán)境配置

network_env

 

          環(huán)境是很簡(jiǎn)單的,精力有限,呵呵。需要說(shuō)明的是,由于手上只有 Global 100 的 LoadRunner License,所以計(jì)劃的 200 并發(fā)平均分配到兩個(gè)測(cè)試機(jī)上,而且是啟的獨(dú)立 Controller,因此下邊的吞吐量和響應(yīng)時(shí)間結(jié)果也只能分別給出了。

 

“服務(wù)器”主機(jī)配置

          說(shuō)是服務(wù)器,實(shí)際是我的辦公機(jī)器,HP 商用機(jī)。手頭機(jī)器有限,呵呵。倒不是沒(méi)有其他資源,只是考慮本次測(cè)試很原始,純屬個(gè)人娛樂(lè),而且自己的機(jī)器調(diào)調(diào)配配、修修改改不麻煩。

 

pc_config

 

          測(cè)試機(jī)這里就不例了,兩臺(tái)也是 HP 商用機(jī),不過(guò)配置很好 Intel Core 2 Duo 2.8GHz,2G 內(nèi)存,呵呵夠用。

 

測(cè)試執(zhí)行

執(zhí)行的力工細(xì)節(jié)就不說(shuō)了,總之是負(fù)載很大,服務(wù)器飽和,有圖為證。

 

taskmgr

 

appmon_workload

 

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

1. Complex 場(chǎng)景

 

測(cè)試機(jī) A 的吞吐量和響應(yīng)時(shí)間曲線。

complex_tps_1

 

complex_rt_1

 

測(cè)試機(jī) B 的吞吐量和響應(yīng)時(shí)間曲線。

 

complex_tps_2

 

complex_rt_2

 

complex_cpu

 

          注:其中的 “Wait%” 指標(biāo)是無(wú)效的,nmon (nmon_x86_debian31(11f) 版本)采集的結(jié)果都是 0。我認(rèn)為這是個(gè) Bug,再不就是 debian 31 和 ubuntu 8.10 差異造成的。已經(jīng)將該問(wèn)題提交到 IBM developerWorks 的 AIX and UNIX Performance Tools Forum,不過(guò)沒(méi)人回答 :(。難不成 je 的哪位大蝦能給個(gè)意見(jiàn)?

 

complex_mem

 

2. Crash 場(chǎng)景

 

測(cè)試機(jī) A 的吞吐量和響應(yīng)時(shí)間曲線。

 

crash_tps_pass_1

Pass Transcation.

 

crash_rt_1

 

crash_tps_fail_1

Fail Transcation.

 

測(cè)試機(jī) B 的吞吐量和響應(yīng)時(shí)間曲線。

 

crash_tps_pass_2

Pass Transcation.

 

crash_rt_2

 

crash_tps_fail_2

Fail Transcation.

 

crash_socket_10053

 

注:其中的 “Error: reset_conn once.” 是測(cè)試腳本中通過(guò) lr_error_message 函數(shù)人為寫(xiě)入的,調(diào)試用。

 

crash_mem

 

結(jié)果分析

          在 Complex 測(cè)試場(chǎng)景中,可以看到 vsns 服務(wù)在滿負(fù)載情況下吞吐量能夠持續(xù)、穩(wěn)定的達(dá)到 13000tps(兩臺(tái)測(cè)試機(jī)總合),響應(yīng)時(shí)間也穩(wěn)定保持在 0.015 秒上下。在服務(wù)器資源方面,很明顯 CPU 和內(nèi)存已經(jīng)飽和,也是因?yàn)槲疫@個(gè)臨時(shí)的“服務(wù)器”總共才 512M 物理內(nèi)存,還沒(méi)測(cè)試機(jī)一半強(qiáng)(2G),不過(guò)這也恰恰說(shuō)明 erlang 面對(duì)艱巨條件時(shí)還是很堅(jiān)挺的,呵呵。等回頭和同事商量給我這臺(tái)充當(dāng)服務(wù)器的辦公機(jī)器加條內(nèi)存,估計(jì)那樣一定會(huì)提高不少。當(dāng)然這和測(cè)試中對(duì) vsns 提交存儲(chǔ)的 key/value 大小有直接關(guān)系。

          可能對(duì)于 Crash 測(cè)試場(chǎng)景更有意義,現(xiàn)在就來(lái)一起看看。CPU 和內(nèi)存也與上面一樣,大負(fù)載下全都飽和。吞吐量和響應(yīng)時(shí)間也和 Complex 測(cè)試一致。在整個(gè) 3 分鐘的測(cè)試場(chǎng)景中,Crash 的 kernel_oops 方法是在 1 分 30 秒時(shí)提交的,通過(guò)響應(yīng)時(shí)間可以明顯看到其中的變化,響應(yīng)“加快”的原因在于 Socket 連接被服務(wù)器斷開(kāi)造成的(此時(shí)調(diào)用都很快失敗)。saleyn_tcp_serverk 中的 client 通信進(jìn)程由于 name_server 進(jìn)程 crash 而調(diào)用失敗后紛紛退出,造成綁定在該進(jìn)程上的 socket 全部失效而強(qiáng)制關(guān)閉。在這樣的大的吞吐量下,共造成了 99 個(gè)事務(wù)報(bào) Connection Abort(10053)異常。隨后 erlang 監(jiān)控進(jìn)程將 name_server 進(jìn)程啟動(dòng),服務(wù)恢復(fù)正常。但從測(cè)試結(jié)果來(lái)看,兩臺(tái)測(cè)試機(jī)都有 10 秒左右的受影響時(shí)期,通過(guò)觀察發(fā)現(xiàn)其間不是全部 vsns 服務(wù)調(diào)用都失敗,而是部分正常部分失敗。通過(guò)失敗調(diào)用的吞吐量曲線可以看到,在 13000tps 壓力下 erlang 進(jìn)程 crash 后,在容錯(cuò)重新啟動(dòng)過(guò)程中,對(duì)于 client 來(lái)講每秒會(huì)有50個(gè)左右的調(diào)用請(qǐng)求失敗。同時(shí)在給出的可用物理內(nèi)存曲線中可以看到,進(jìn)程 crash 后有明顯的 5M 內(nèi)存釋放發(fā)生,當(dāng)然這包括 name_server 保存的進(jìn)程字典數(shù)據(jù)。個(gè)人認(rèn)為上面這些可以說(shuō)明,erlang 進(jìn)程的監(jiān)控樹(shù)結(jié)構(gòu)是可以有效達(dá)到容錯(cuò)目的,但在大負(fù)載情況下,服務(wù)的 crash 對(duì)吞吐量影響還是不小的,起碼性能下降不會(huì)很快緩解,當(dāng)然這會(huì)考慮負(fù)載輕重。總體還講還可以,尤其還是在這么爛的臺(tái)式機(jī)上,呵呵。

 

對(duì)服務(wù)容錯(cuò)設(shè)計(jì)的思考

          在進(jìn)行上面所說(shuō)的這個(gè) Crash 場(chǎng)景測(cè)試時(shí),在考慮是否應(yīng)該將服務(wù)異常或不可用的信息暴露給客戶端應(yīng)用(服務(wù)消費(fèi)者)呢?尤其是服務(wù)間存在互相委托關(guān)系時(shí),比如開(kāi)發(fā) Service Hub 服務(wù)聚合或是 Service 擴(kuò)展服務(wù)時(shí)。我想這可以有 3 種設(shè)計(jì):

 

  1. 一旦服務(wù)失敗立即返回調(diào)用者,并給出異常描述(原因)。這種設(shè)計(jì)會(huì)將服務(wù)錯(cuò)誤完全暴露,將重試(容錯(cuò))的機(jī)制依賴到客戶端。
  2. 服務(wù)失敗后一直等待服務(wù)就緒,什么時(shí)候正常了,什么時(shí)候重試。雖然容錯(cuò)對(duì)客戶端透明了,但會(huì)引入延遲,對(duì)于實(shí)時(shí)的要求不好滿足。
  3. 對(duì)上邊第2點(diǎn)的補(bǔ)充,即服務(wù)重試次數(shù)和等待時(shí)間進(jìn)行限定/可配置。就像erlang otp的supervisor設(shè)計(jì)相似。

          很明顯,第 3 種方式應(yīng)該最有優(yōu)勢(shì),兼顧了服務(wù)性能和容錯(cuò)處理,當(dāng)然實(shí)現(xiàn)起來(lái)可以也最復(fù)雜了。

 

用到的幾個(gè)優(yōu)化方法

1. 啟用 linux kernel epoll
configure --enable-kernel-poll
erl +K true parameter

2. 擴(kuò)大 linux nproc 和 nofile limits
* soft nproc 2407
* hard nproc 16384
* soft nofile 1024
* hard nofile 65536

3. 擴(kuò)大 linux 和 erlang 端口
echo 1024 65535 > ip_local_port_range
set ERL_MAX_PORTS = 102400

4. 啟用 erlang SMP
erl -smp enable +S 2

5. 擴(kuò)大進(jìn)程數(shù)量
erl +P 102400

6. 擴(kuò)大 linux tcp 協(xié)議棧中讀寫(xiě)緩沖區(qū)大小,將影響 tcp window 大小
echo "640000" > /proc/sys/net/core/rmem_default
echo "640000" > /proc/sys/net/core/rmem_max
echo "640000" > /proc/sys/net/core/wmem_default
echo "640000" > /proc/sys/net/core/wmem_max

 

          本文涉及的內(nèi)容只涉及基礎(chǔ)性的驗(yàn)證、測(cè)試,未涉及具體的 erlang 軟件,且待我深入研究。Erlang rising~

 

          附件 vsns_perf.zip 為備份目的所添加,請(qǐng)勿下載使用。

 

// 2009.02.16 16:29 添加 ////

 

          關(guān)于 nmon 未能在 ubuntu 8.10 上獲得 cpu wio% 指標(biāo)的問(wèn)題,想到有可能是未以 root 權(quán)限啟動(dòng) nmon 進(jìn)程的原因,不過(guò)能過(guò)剛才驗(yàn)證,結(jié)果還不是一樣,不理想。盡管 vmstat 取得/確認(rèn)了系統(tǒng)已經(jīng)出現(xiàn) wait io,但 nmon 的 wio% 采集結(jié)果還始終是 0。nmon_x86_debian31(11f) 版本對(duì) ubuntu 8.10 的支持很失望。

 

Shell代碼 復(fù)制代碼
  1. sudo -i   
  2.   
  3. nmon -c310 -s1 -r -f  

 

// 2009.02.17 17:04 添加 ////

 

          呵呵,說(shuō)是遲那是快。上面說(shuō)的 nmon (nmon_x86_debian31(11f) 版本)采集的“Wait%” 結(jié)果都是 0 的問(wèn)題,nagger 已經(jīng)確認(rèn)并已提供新的 nmon_x86_12a 版本下載 ,包括了最新的 Ubuntu 8.10 系統(tǒng)的 nmon 映像。真的很強(qiáng)悍。


安徽新華電腦學(xué)校專業(yè)職業(yè)規(guī)劃師為你提供更多幫助【在線咨詢
亚洲人成网站在线播放2019 _日韩国产欧美精品_久久夜色精品国产欧美乱_在线视频福利一区
国产日韩欧美在线播放| 韩日午夜在线资源一区二区| 国产成人免费高清视频| 国产ts一区二区| 久久久无码中文字幕久...| 国产精品8888| 久久久久久网址| 国产精品日韩一区| 不卡av电影院| 一级日韩一区在线观看| 亚洲一区二区三区久久| 亚洲美女搞黄| 日本一区二区视频| 欧美做暖暖视频| 韩国视频理论视频久久| 欧美日韩一区二区三区免费| 精品视频高清无人区区二区三区| 国产日韩一区二区在线观看| 99热亚洲精品| 久久久久天天天天| 国产精品福利视频| 亚洲国产精品久久久久爰色欲| 午夜老司机精品| 欧美又大粗又爽又黄大片视频| 麻豆一区区三区四区产品精品蜜桃| 国产日韩在线观看av| 操人视频欧美| 日韩在线中文视频| 蜜臀久久99精品久久久久久宅男| 亚洲欧洲精品一区| 日本不卡二区| 国产精品一区二区三区精品| 久久国产精品久久| 精品国产一区二区三区久久久久久| 一区二区冒白浆视频| 欧美亚洲国产视频小说| 99精品人妻少妇一区二区| xxxx性欧美| 一道精品一区二区三区| 欧美视频小说| 91精品视频一区| 国产精品人人妻人人爽人人牛| 一区二区三区四区视频在线观看| 人人做人人澡人人爽欧美| 国产伦精品一区二区三区四区免费 | 在线一区高清| 欧美在线视频网站| 91免费版网站在线观看| 国产精品第二页| 热久久精品国产| 91成人免费观看| 不卡av日日日| 欧美亚洲国产日本| 久久久女女女女999久久| 国产精品二区在线| 日本人成精品视频在线| 国产精品一区二区三区在线| 国产成人精品无码播放| 日日噜噜噜噜夜夜爽亚洲精品| 国产欧美一区二区三区视频| 国产精品视频网址| 人妻无码久久一区二区三区免费| 97成人在线免费视频| 久久亚洲欧美日韩精品专区| 欧美日韩成人一区二区三区| 久久国产精品99久久久久久丝袜| 欧美激情视频在线观看| 免费看又黄又无码的网站| 色偷偷av一区二区三区| 欧美一区二区三区精美影视| 国产精品直播网红| 国产精品国产三级国产专区51| 秋霞在线一区二区| 国产成人精品av在线| 懂色中文一区二区三区在线视频| 国产九区一区在线| 欧美精品在线免费观看| 国产一区福利视频| 久久综合久中文字幕青草| 激情内射人妻1区2区3区 | 美女国内精品自产拍在线播放 | 热99精品里视频精品| 国产成人亚洲综合91| 午夜啪啪福利视频| 91高潮在线观看| 亚洲精品日韩成人| 久章草在线视频| 日本新janpanese乱熟| 国产v片免费观看| 日韩久久精品一区二区三区| 色777狠狠综合秋免鲁丝| 日本一区精品| 久草视频国产在线| 奇米影视首页 狠狠色丁香婷婷久久综合| 国产高清在线一区二区| 日本午夜在线亚洲.国产| 色偷偷888欧美精品久久久| 欧美在线一区视频| 国产精品久久亚洲7777| 国产人妻777人伦精品hd| 综合久久国产| 国产精品com| 青草青草久热精品视频在线网站| 久久精品国产亚洲精品2020| 国严精品久久久久久亚洲影视| 久久亚洲精品视频| 国产日韩第一页| 亚洲综合中文字幕在线| 久久综合久久综合这里只有精品| 日韩伦理一区二区三区av在线| 国产精品免费入口| 成人综合视频在线| 日韩一级片一区二区| 久久久久久久久久久久久国产精品| 男人添女人下部视频免费| 国产精品免费一区二区三区观看| 国产亚洲欧美另类一区二区三区| 一级一片免费播放| 久艹在线免费观看| 免费99视频| 视频在线精品一区| 日韩一区av在线| 国产日韩欧美日韩| 色婷婷精品国产一区二区三区 | 海角国产乱辈乱精品视频| 一区二区欧美日韩| 久久综合伊人77777蜜臀| 成人精品视频99在线观看免费| 日日摸日日碰夜夜爽无码| 国产精品日韩高清| 国产精品999视频| 国产主播在线看| 日韩av免费网站| 国产精品吹潮在线观看| 91精品国产综合久久香蕉的用户体验 | 97人人干人人| 狠狠综合久久av| 亚洲 中文字幕 日韩 无码| www高清在线视频日韩欧美| 高清国产一区| 精品人妻人人做人人爽| 欧美一区二区视频在线| 欧美成人在线网站| 日韩中文字幕精品视频| 99视频精品免费| 国产亚洲欧美另类一区二区三区 | 国产日韩欧美电影在线观看| 热久久99这里有精品| 亚洲色婷婷久久精品av蜜桃| 国产精品成久久久久三级| 久草精品在线播放| 91九色丨porny丨国产jk| 国内精品国语自产拍在线观看| 日本一区视频在线播放| 亚洲在线免费视频| 久久亚洲欧美日韩精品专区| 色婷婷综合久久久久| 久久久免费看| 99re在线视频上| 国产精品自拍小视频| 国产一区二区免费电影| 欧美精品七区| 人妻少妇精品久久| 日本精品在线视频| 午夜欧美大片免费观看| 在线观看亚洲视频啊啊啊啊 | 日韩在线第三页| 影音先锋欧美在线| 久久夜色精品国产| 国产精品美女诱惑| 久久韩国免费视频| 日韩在线精品视频| 日韩有码在线观看| 日韩中文字幕亚洲| 日韩中文字幕第一页| 色噜噜亚洲精品中文字幕| 久久99导航| 日韩中文在线视频| 国产成人免费观看| 久久天天躁狠狠躁夜夜躁| 久久久久一区二区| 日韩中文字幕视频在线观看| 精品国产区一区二区三区在线观看| 久久大片网站| 国产精品视频男人的天堂| 国产精品人成电影在线观看| 国产精品免费一区二区三区在线观看| 国产精品偷伦免费视频观看的 | 国产在线精品自拍| 精品视频一区二区在线| 国产一区二区三区黄| 国产女主播自拍| 99热在线播放| 国产不卡一区二区视频| 日日狠狠久久偷偷四色综合免费| 久久久久久久久久久久久久久久av | 久久人人爽国产| 久久久久久久久久久视频| 国产成人精品一区二区| 久久精品91久久香蕉加勒比 |