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

        ?

        Tomcat 7下使用異步Servlet實(shí)踐

        2015-06-29 09:21:50李春玲
        卷宗 2015年6期
        關(guān)鍵詞:線程邏輯解決方案

        李春玲

        摘 要:在Servlet 3.0標(biāo)準(zhǔn)新增的諸多特性中,異步處理支持是最為關(guān)注的一個(gè)特性,本文將詳細(xì)對(duì)比傳統(tǒng)的Servlet與異步Servlet的差別,通過實(shí)踐分析異步Servlet在何種場景下會(huì)提升Java Web應(yīng)用的性能。

        關(guān)鍵詞:ervlet 3.0;異步

        1 引言

        Servlet3.0是Tomcat7出現(xiàn)的新特性,而異步處理是servlet 3.0的最重要的特征。

        在Servlet 3.0之前,通過Servlet執(zhí)行比較耗時(shí)的任務(wù)時(shí),Servlet線程會(huì)被阻塞,直到所有的處理完成后才能得到響應(yīng)。如果服務(wù)器的請(qǐng)求鏈接很多,它將達(dá)到最大Servlet線程限制,后續(xù)的請(qǐng)求被拒絕出現(xiàn)連接錯(cuò)誤。雖然這種同步問題可以用特定的方案解決,比如Tomcat 的 Comet、WebLogic 的FutureResponseServlet 和 WebSphere的Asynchronous Request Dispatcher。這種特定容器的解決方案的問題在于,在不改變應(yīng)用程序代碼時(shí)不能移動(dòng)到其他Servlet容器。

        而Servlet3.0提供標(biāo)準(zhǔn)的方式異步處理Servlet的同時(shí)增加異步Servlet支持。這樣在Servlet API 3.0實(shí)現(xiàn)成為主流后,解決方案就變得更加簡單、標(biāo)準(zhǔn)化且優(yōu)雅。

        2 異步Servlet實(shí)踐

        2.1 異步Servlet實(shí)現(xiàn)

        本實(shí)踐在Tomcat 7.0,JDK1.7環(huán)境下,基于eclipse 3.7集成開發(fā)環(huán)境下來搭建實(shí)踐工程。

        (1)配置

        配置Tomcat采用Servlet3.0,有兩種配置方式:一種是注解式,一種是修改web.xml配置,我們采用了注解式。

        (2)異步Servlet實(shí)現(xiàn)流程

        啟動(dòng)一個(gè)異步的Servlet處理過程,映射為異步上下文對(duì)象;

        對(duì)這個(gè)上下文對(duì)象加入一個(gè)監(jiān)聽;

        設(shè)置一個(gè)超時(shí)時(shí)間,終止異步過程;

        創(chuàng)建執(zhí)行業(yè)務(wù)邏輯的工作線程池;

        將異步上下文放入線程池執(zhí)行業(yè)務(wù)邏輯。

        2.2 異步Servlet測試

        實(shí)踐采用Apache的JMeter測試工具,對(duì)項(xiàng)目中使用異步Servlet方式的的并發(fā)請(qǐng)求處理能力進(jìn)行測試,同時(shí)與原有Servlet方式進(jìn)行對(duì)比分析。

        在相同測試服務(wù)和模型情況下,兩種方式測試的統(tǒng)計(jì)結(jié)果如下:

        原Servlet:

        異步Servlet:

        從以上結(jié)果可以看出,異步Servlet平均性能有一點(diǎn)提升,但提升不大,即整體性能受限于請(qǐng)求/響應(yīng)的完整處理時(shí)間,跟是否采用異步方式無關(guān)。但偏離數(shù)據(jù)大幅度縮小,表明采用異步Servlet后,服務(wù)器的線程調(diào)度能力得到很大改善,響應(yīng)處理能力加強(qiáng)。

        3 測試結(jié)果分析

        (1)經(jīng)過對(duì)比分析,可以確認(rèn)Tomcat對(duì)于Servlet當(dāng)前請(qǐng)求的處理,不論是否采用Servlet3.0寫法,都是一個(gè)請(qǐng)求對(duì)應(yīng)一個(gè)響應(yīng),標(biāo)準(zhǔn)的協(xié)議處理模式。

        (2)從并發(fā)的角度看,Servlet3.0的異步處理能力,不是針對(duì)同一個(gè)用戶提交的請(qǐng)求,而是針對(duì)大量用戶請(qǐng)求提交到服務(wù)端后的處理效果。其核心就是Servlet對(duì)象能夠快速返回,接收其他用戶連接上的請(qǐng)求,從而減少Servlet對(duì)象的創(chuàng)建/銷毀在性能上的開銷,避免因?qū)ο筮^多造成達(dá)到Servlet最大線程限制而可能的拒絕服務(wù)。在同樣大數(shù)量并發(fā)請(qǐng)求場景下,異步Servlet對(duì)服務(wù)器穩(wěn)定以及處理性能提升很有幫助。

        (3)當(dāng)業(yè)務(wù)邏輯處理的返回值跟本次請(qǐng)求所需要的返回值不相關(guān),即可以立即返回響應(yīng)而不需等待業(yè)務(wù)邏輯處理結(jié)果時(shí),用Servlet3.0則將對(duì)整個(gè)處理性能有一個(gè)質(zhì)的飛躍。

        4 實(shí)踐總結(jié)

        通過實(shí)踐分析,對(duì)于Servlet3.0的使用,需要根據(jù)具體的場景和服務(wù)器能力設(shè)計(jì)來權(quán)衡使用。該解決方案非常適合于某些應(yīng)用場景,比如說通知類、日志類服務(wù)等,他們的執(zhí)行與請(qǐng)求/響應(yīng)是解耦的。而對(duì)于需要等待數(shù)據(jù)庫查詢完成,或者需要明確獲得本次處理結(jié)果,才能返回響應(yīng)處理場景來說,這種方式就沒有什么必須性了。

        猜你喜歡
        線程邏輯解決方案
        刑事印證證明準(zhǔn)確達(dá)成的邏輯反思
        法律方法(2022年2期)2022-10-20 06:44:24
        邏輯
        解決方案和折中方案
        創(chuàng)新的邏輯
        簡潔又輕松的Soundbar環(huán)繞聲解決方案
        女人買買買的神邏輯
        37°女人(2017年11期)2017-11-14 20:27:40
        淺談linux多線程協(xié)作
        4G LTE室內(nèi)覆蓋解決方案探討
        Moxa 802.11n WLAN解決方案AWK-1131A系列
        Linux線程實(shí)現(xiàn)技術(shù)研究
        国产尤物精品视频| 少妇高潮紧爽免费观看| 青青自拍视频成人免费观看| 亚洲欧美精品伊人久久| 性一交一乱一伦一视频一二三区| 中文字幕日本人妻一区| 国产洗浴会所三级av| 国产精品妇女一区二区三区 | 俺去啦最新地址| 亚洲а∨天堂久久精品2021| 国产白丝网站精品污在线入口| 久久国产亚洲高清观看5388 | 精品国精品自拍自在线| 亚洲av高清一区二区在线观看| 日韩国产人妻一区二区三区| 少妇性荡欲视频| 午夜无码一区二区三区在线| 国产亚洲精品成人av在线| 国产亚洲中文字幕一区| 丰满熟妇人妻av无码区| 精品国产一区二区三区免费| 色伊人国产高清在线| 精品国产亚洲人成在线观看| 亚洲精品一区二区高清| 69精品人人人人| 亚洲va在线∨a天堂va欧美va| 国产亚洲精品国看不卡| 五月婷婷丁香视频在线观看| 亚洲av无码成人精品国产| 中文字幕被公侵犯的漂亮人妻| 亚洲AV无码资源在线观看| 亚洲女同精品久久女同| 99久久精品人妻少妇一| 曰韩无码无遮挡a级毛片| 天天综合亚洲色在线精品| 久久国产精品免费一区六九堂| 亚洲一区在线二区三区| 久久久亚洲av波多野结衣| 丰满少妇高潮惨叫正在播放 | 国产夫妻精品自拍视频| 人人妻人人做人人爽|