电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術(shù)文章
文章詳情頁

解決JAVA服務(wù)器性能問題

瀏覽:30日期:2024-06-30 09:41:19
內(nèi)容: 解決JAVA服務(wù)器性能問題通過負(fù)載測(cè)試和分析來改善JAVA服務(wù)器應(yīng)用的性能作者:Ivan Small譯者:xMatrix版權(quán)聲明:任何獲得Matrix授權(quán)的網(wǎng)站,轉(zhuǎn)載時(shí)請(qǐng)務(wù)必以超鏈接形式標(biāo)明文章原始出處和作者信息及本聲明作者:Ivan Small;xMatrix原文地址:http://www.javaworld.com/javaworld/jw-02-2005/jw-0207-server-p3.html中文地址:http://www.matrix.org.cn/resource/article/43/43998_server_capacity.html關(guān)鍵詞: server capacity摘要改善JAVA服務(wù)器的性能需要模擬負(fù)載下的服務(wù)器。創(chuàng)建一個(gè)模擬環(huán)境、搜集數(shù)據(jù)并且分析結(jié)果可能是對(duì)許多開發(fā)人員的挑戰(zhàn)。這篇文章中的示例介紹了JAVA服務(wù)器性能分析的概念和工具。作者使用這個(gè)示例來研究超額請(qǐng)求次數(shù)下內(nèi)存使用和同步竟?fàn)幍挠绊憽W髡逫van Small項(xiàng)目團(tuán)隊(duì)已經(jīng)很熟悉如何組織一些具體的任務(wù)并完成他們。簡(jiǎn)單的性能問題很容易由一個(gè)開發(fā)人員分離并解決。然而大的性能問題,通常在系統(tǒng)處于高負(fù)載情況下發(fā)生,就不是這么簡(jiǎn)單能處理的了。這些問題需要一個(gè)獨(dú)立的測(cè)試環(huán)境、一個(gè)模擬的負(fù)載,并且需要仔細(xì)地分析和跟蹤。在這篇文章中,我使用比較通用的工具和設(shè)備創(chuàng)建了一個(gè)測(cè)試環(huán)境。我會(huì)專注于兩個(gè)性能問題,內(nèi)存和同步,他們很難用簡(jiǎn)單的分析得到。通過一個(gè)具體的例子,我希望比較容易地解決復(fù)雜的性能問題而且可以提供處理問題過程中的細(xì)節(jié)。改善服務(wù)器的性能服務(wù)器的性能改善是依賴于數(shù)據(jù)的。沒有可靠的數(shù)據(jù)基礎(chǔ)而更改應(yīng)用或環(huán)境會(huì)導(dǎo)致更差的結(jié)果。分析器提供有用的JAVA服務(wù)器應(yīng)用信息,但由于從單用戶負(fù)載下的數(shù)據(jù)與多用戶負(fù)載下得到的數(shù)據(jù)是完全不同的,這導(dǎo)致分析器的數(shù)據(jù)并不精確。在開發(fā)階段使用分析器來優(yōu)化應(yīng)用的性能是一個(gè)好的方式,但在高負(fù)載下的應(yīng)用分析可以取到更好的效果。在負(fù)載下分析服務(wù)器應(yīng)用的性能需要一些基本的元素: 1、可控的進(jìn)行應(yīng)用負(fù)載測(cè)試的環(huán)境。 2、可控的人造負(fù)載使得應(yīng)用滿負(fù)荷運(yùn)行。 3、來自監(jiān)視器、應(yīng)用和負(fù)載測(cè)試工具自身的數(shù)據(jù)搜集。 4、性能改變的跟蹤。不要低估最后一個(gè)需求(性能跟蹤)的重要性因?yàn)槿绻荒芨櫺阅苣憔筒荒軐?shí)際的管理項(xiàng)目。性能上10-20%的改善對(duì)單用戶環(huán)境來說并沒有什么不同,但對(duì)支持人員來說就不一樣了。20%的改善是非常大的,而且通過跟蹤性能的改善,你可以提供重要的反饋和持續(xù)跟蹤。雖然性能跟蹤很重要,但有時(shí)為了使后續(xù)的測(cè)試更加精確而不得不拋棄先前的測(cè)試結(jié)果。在性能測(cè)試中,改善負(fù)載測(cè)試的精確性可能需要修改模擬環(huán)境,而這些變化是必須的,通過變化前后的負(fù)載測(cè)試你可以觀察到其中的轉(zhuǎn)變。可控的環(huán)境 可控的環(huán)境最少也需要兩臺(tái)獨(dú)立的機(jī)器和第三臺(tái)控制的機(jī)器。其中一臺(tái)用來生成負(fù)載,另一臺(tái)作為控制機(jī)與前一臺(tái)建立測(cè)試應(yīng)用并接受反饋,第三臺(tái)機(jī)器運(yùn)行應(yīng)用。此外,負(fù)載和應(yīng)用機(jī)器間的網(wǎng)絡(luò)應(yīng)該與局域網(wǎng)分開。控制機(jī)接受運(yùn)行應(yīng)用機(jī)器的反饋如操作系統(tǒng)、硬件使用率、應(yīng)用(特別是VM)的狀態(tài)。負(fù)載模擬最精確的模擬通常用實(shí)際的用戶數(shù)據(jù)和WEB服務(wù)器端的訪問日志。如果你還沒有實(shí)際布署或者缺少實(shí)際的用戶數(shù)據(jù),你可以通過構(gòu)造類似的場(chǎng)景或詢問銷售和產(chǎn)品管理團(tuán)隊(duì)或做一些有依據(jù)的猜想。協(xié)調(diào)負(fù)載測(cè)試和實(shí)際用戶體驗(yàn)是一個(gè)持續(xù)的過程。在模擬中一些用戶場(chǎng)景是必須的。如在一個(gè)通用地址薄應(yīng)用中,你應(yīng)該區(qū)分更新和查詢操作。在我的測(cè)試應(yīng)用中GrinderServlet類只有一個(gè)場(chǎng)景。單用戶連接10次訪問這個(gè)servlet(在每一次訪問間有一段暫停)。雖然這個(gè)應(yīng)用很小,我認(rèn)為這可以重復(fù)一些常見的東西。用戶通常不會(huì)連接給服務(wù)器請(qǐng)求而沒有間斷。如果沒有間斷,我們可能不能得到更精確的實(shí)際用戶上限。串行10個(gè)請(qǐng)求的另一個(gè)原因是實(shí)際應(yīng)用中不會(huì)只有一個(gè)HTTP請(qǐng)求。單一而又分離的請(qǐng)求可以影響環(huán)境中的許多因素。對(duì)Tomcat來說,會(huì)為每一個(gè)請(qǐng)求創(chuàng)建一個(gè)會(huì)話,并且HTTP協(xié)議允許不同的請(qǐng)求重用連接。我會(huì)修改一下負(fù)載測(cè)試來避免混洧。GrinderServlet類不會(huì)執(zhí)行任何排序操作,但這個(gè)需求在大部分應(yīng)用中都很普通。在這些應(yīng)用中,你需要?jiǎng)?chuàng)建模擬的數(shù)據(jù)集并且用他們來構(gòu)造相關(guān)用例的負(fù)載測(cè)試。例如,如果用例涉及到用戶登錄一個(gè)WEB應(yīng)用,從可能的用戶列表中選取隨機(jī)的用戶會(huì)只使用一個(gè)用戶更精確。否則,你可能不經(jīng)意地使用了系統(tǒng)緩存或其他的優(yōu)化或一些微妙的東西,而這會(huì)使得結(jié)果不正確。負(fù)載測(cè)試軟件負(fù)載測(cè)試軟件可以構(gòu)造測(cè)試場(chǎng)景并且對(duì)服務(wù)進(jìn)行負(fù)載測(cè)試。我會(huì)在下面的示例中使用OpenSTA測(cè)試軟件。這軟件簡(jiǎn)單易學(xué),結(jié)果也很容易導(dǎo)出,并且支持參數(shù)化腳本,還可以監(jiān)視信息的變化,他的主要缺點(diǎn)是基于Windows,但在這兒不是個(gè)問題。當(dāng)然還有很多可選項(xiàng)如Apache的JMeter和Mercury的LoadRunner。The GrinderServlet列表1中顯示了GrinderServlet類,列表2中顯示了Grinder類Listing 1package pub.capart;import java.io.*;import java.util.*;import javax.servlet.*;import javax.servlet.http.*;public class GrindServlet extends HttpServlet { protected void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { Grinderv1 grinder = Grinderv1.getGrinder(); long t1 = System.currentTimeMillis(); grinder.grindCPU(13); long t2 = System.currentTimeMillis(); PrintWriter pw = res.getWriter(); pw.print('n< body> n'); pw.print('Grind Time = '+(t2-t1)); pw.print('< body> n< /html> n'); }} Listing 2package pub.capart;/*** This is a simple class designed to simulate an application consuming* CPU, memory, and contending for a synchronization lock.*/public class Grinderv1 { private static Grinderv1 singleton = new Grinderv1(); private static final String randstr = 'this is just a random string that I'm going to add up many many times'; public static Grinderv1 getGrinder() { return singleton; } public synchronized void grindCPU(int level) { StringBuffer sb = new StringBuffer(); String s = randstr; for (int i=0;i
標(biāo)簽: Java
相關(guān)文章:
主站蜘蛛池模板: 重庆网站建设,重庆网站设计,重庆网站制作,重庆seo,重庆做网站,重庆seo,重庆公众号运营,重庆小程序开发 | 哈尔滨京科脑康神经内科医院-哈尔滨治疗头痛医院-哈尔滨治疗癫痫康复医院 | 浙江清风侠环保设备有限公司| 上海赞永| 减速机_上海宜嘉减速机| 折弯机-刨槽机-数控折弯机-数控刨槽机-数控折弯机厂家-深圳豐科机械有限公司 | 橡胶接头|可曲挠橡胶接头|橡胶软接头安装使用教程-上海松夏官方网站 | 卡诺亚轻高定官网_卧室系统_整家定制_定制家居_高端定制_全屋定制加盟_定制家具加盟_定制衣柜加盟 | 国标白水泥,高标号白水泥,白水泥厂家-淄博华雪建材有限公司 | 手机存放柜,超市储物柜,电子储物柜,自动寄存柜,行李寄存柜,自动存包柜,条码存包柜-上海天琪实业有限公司 | 篷房|仓储篷房|铝合金篷房|体育篷房|篷房厂家-华烨建筑科技官网 知名电动蝶阀,电动球阀,气动蝶阀,气动球阀生产厂家|价格透明-【固菲阀门官网】 | 杭州货架订做_组合货架公司_货位式货架_贯通式_重型仓储_工厂货架_货架销售厂家_杭州永诚货架有限公司 | 杜康白酒加盟_杜康酒代理_杜康酒招商加盟官网_杜康酒厂加盟总代理—杜康酒神全国运营中心 | 屏蔽服(500kv-超高压-特高压-电磁)-徐吉电气 | 防水接头-电缆防水接头-金属-电缆密封接头-不锈钢电缆接头 | 仿真茅草_人造茅草瓦价格_仿真茅草厂家_仿真茅草供应-深圳市科佰工贸有限公司 | 莱州网络公司|莱州网站建设|莱州网站优化|莱州阿里巴巴-莱州唯佳网络科技有限公司 | 全自动过滤器_反冲洗过滤器_自清洗过滤器_量子除垢环_量子环除垢_量子除垢 - 安士睿(北京)过滤设备有限公司 | 泥浆在线密度计厂家-防爆数字压力表-膜盒-远传压力表厂家-江苏大亚自控设备有限公司 | LED太阳能中国结|发光红灯笼|灯杆造型灯|节日灯|太阳能灯笼|LED路灯杆装饰造型灯-北京中海轩光电 | 塑料造粒机「厂家直销」-莱州鑫瑞迪机械有限公司 | 红酒招商加盟-葡萄酒加盟-进口红酒代理-青岛枞木酒业有限公司 | China plate rolling machine manufacturer,cone rolling machine-Saint Fighter | 震动筛选机|震动分筛机|筛粉机|振筛机|振荡筛-振动筛分设备专业生产厂家高服机械 | 阀门智能定位器_电液动执行器_气动执行机构-赫尔法流体技术(北京)有限公司 | 济南ISO9000认证咨询代理公司,ISO9001认证,CMA实验室认证,ISO/TS16949认证,服务体系认证,资产管理体系认证,SC食品生产许可证- 济南创远企业管理咨询有限公司 郑州电线电缆厂家-防火|低压|低烟无卤电缆-河南明星电缆 | 礼堂椅厂家|佛山市艺典家具有限公司 | 小程序开发公司_APP开发多少钱_软件开发定制_微信小程序制作_客户销售管理软件-济南小溪畅流网络科技有限公司 | 湖南长沙商标注册专利申请,长沙公司注册代理记账首选美创! | 台式核磁共振仪,玻璃软化点测定仪,旋转高温粘度计,测温锥和测温块-上海麟文仪器 | 污水处理设备,一体化泵站,一体化净水设备-「梦之洁环保设备厂家」 | 北京网站建设|北京网站开发|北京网站设计|高端做网站公司 | 中国玩具展_玩具展|幼教用品展|幼教展|幼教装备展 | 铝箔-铝板-花纹铝板-铝型材-铝棒管-上海百亚金属材料有限公司 | 釜溪印象网络 - Powered by Discuz! | 气动调节阀,电动调节阀,自力式压力调节阀,切断阀「厂家」-浙江利沃夫自控阀门 | 苏州注册公司_苏州代理记账_苏州工商注册_苏州代办公司-恒佳财税 | 定量包装机,颗粒定量包装机,粉剂定量包装机,背封颗粒包装机,定量灌装机-上海铸衡电子科技有限公司 | 平面钻,法兰钻,三维钻-山东兴田阳光智能装备股份有限公司 | 北京翻译公司-专业合同翻译-医学标书翻译收费标准-慕迪灵 | 红立方品牌应急包/急救包加盟,小成本好项目代理_应急/消防/户外用品加盟_应急好项目加盟_新奇特项目招商 - 中红方宁(北京) 供应链有限公司 |