灵魂腐蚀 发表于 2015-1-18 11:19:15

JAVA网页编程之排查“玄色30秒”成绩-为何哀求会列队仓酷云

从一个编程语言的普及程度来将,一个好的IDE是至关中要的,而现在的java的IDE虽然已经很好了,但是和.net网页编程比起来还是稍微差一些的,这是个客观事实。java要想普及的更好。DE是必须加以改进的。针对Web服务器“玄色30秒”成绩(详见云盘算之路-阿里云上:Web服务器遭受奇异的“玄色30秒”成绩),经由剖析,我们筹办从这个中央动手——为何会呈现ASP.NETRequestQueued年夜于0的情形(为何哀求会列队)?
起首,经由过程Windows功能监督器往察看,看能不克不及找到如许的线索——在甚么前提下会触发哀求列队?
我们在功能监督器中增添了1个监督目标——HTTPServiceRequestQueuesArrivalRate

ArrivalRate:Rateatwhichrequestsarearrivinginthequeue
这是一个针对IIS的底层HTTP.SYS的监督目标,从我们的了解,以为它最间接地反应了抵达IIS确当前要处置的并发哀求。
启用这个ArrivalRate监督目标后,我们察看到了1次哀求列队的情形(非“玄色30秒”妨碍场景)。

上图中跳起的蓝色就体现呈现了哀求列队。
我们来逐一目标看一下。
1.HTTPServiceRequestQueuesArrivalRate(抵达IIS底层的哀求)

事先HTTP.SYS收到了465个并发哀求。
2.Qequests/Sec(QPS,ASP.NET每秒处置的哀求数)

事先ASP.NET的QPS是607。
3.RequestsQueued(列队的哀求数)

【注重】呈现哀求列队的工夫点是11:03:54,而前2个目标高上往的工夫点在11:03:55。
【主要线索】由此,我们能够得出如许的线索:是先呈现哀求列队(RequestsQueued),然后才呈现ArrivalRate与QPS上升。是哀求列队引发ArrivalRate与QPS上升,而不是ArrivalRate与QPS上起用起哀求列队。
接上去经由过程其他目标考证这个设法。
4.CurrentConnections

IIS以后毗连数高上往也在呈现哀求列队以后。(乐成考证1)
5.CPU

CPU占用也是在呈现哀求列队以后才高上往的。(乐成考证2)
【剖析结论】哀求列队才是成绩的缘故原由,而其他体现只是哀求列队后的了局体现。
那在11:03:54,哀求列队时,其他目标又是甚么情形呢?
1.ArrivalRate只要218

2.QPS只要151

3.CurrentConnections在15以下(详细数值在功能监督器上显现不出来)

4.CPU占用只要10%

太奇异了!在哀求列队时,其他目标都处于低点——比一般情形更低的点。
更奇异的是抵达IIS的哀求比平常变少了,哀求反而列队了。
【料想】
从这个监督到的体现看,我们独一能注释得通的是:11:03:54,Web服务器仿佛在打打盹,处置才能周全下落;然后,11:03:55,Web服务器醒了过去,处置才能周全恢复,这时候不但要处置以后的哀求,还要处置之前列队的哀求,一会儿负载就高了上往。
岂非谁给Web服务器下了药?假如用的是物理机,我们真的会嫌疑是谁下的药?但如今用的是假造机,在“被下药”与“假造机成绩”之间,哪一个更值得嫌疑呢?。。。这个成绩只能留给阿里云的同砚,我们再怎样嫌疑,也只能嫌疑罢了,没法在假造机层面举行考证。
【进一步的线索】
在写这篇博客的时代,1只服务器恰好产生了“玄色30秒”,看看功能监督器中的相干体现:
1.ArrivalRate与RequestsQueued

2.加上CurrentConnections

3.加上CPU

4.加上RequestExecutionTime

并且此次接连来了2个“玄色30秒”。
【小结】
假造的天下很出色,假造的天下也很无法。从使用、从Windows的角度,我们真的不知从那边理动手,我们能做的只是找成绩的线索。成绩的办理大概真的必要阿里云同砚们的勉力!

IDE是好。java中的IDE更是百花齐放,你用jbuilder能说jbuilder赶不上vs吗?用eclipse,net网页编程beans也很舒服啊。我就不明白“稍微差一些”那一些是从哪里差来的。

admin 发表于 2015-1-20 20:10:45

学Java必读的两个开源程序就是Jive和Pet Store.。 Jive是国外一个非常著名的BBS程序,完全开放源码。论坛的设计采用了很多先进的技术,如Cache、用户认证、Filter、XML等,而且论坛完全屏蔽了对数据库的访问,可以很轻易的在不同数据库中移植。论坛还有方便的安装和管理程序,这是我们平时编程时容易忽略的一部份(中国程序员一般只注重编程的技术含量,却完全不考虑用户的感受,这就是我们与国外软件的差距所在)。

金色的骷髅 发表于 2015-1-22 09:23:11

Sun公司看见Oak在互联网上应用的前景,于是改造了Oak,于1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。

再见西城 发表于 2015-1-27 22:06:00

J2SE开发桌面应用软件比起 VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。

小魔女 发表于 2015-1-28 05:44:37

那么我书也看了,程序也做了,别人问我的问题我都能解决了,是不是就成为高手了呢?当然没那么简单,这只是万里长征走完了第一步。不信?那你出去接一个项目,你知道怎么下手吗,你知道怎么设计吗,你知道怎么组织人员进行开发吗?你现在脑子里除了一些散乱的代码之外,可能再没有别的东西了吧!

兰色精灵 发表于 2015-1-29 06:49:25

你一定会高兴地说,哈哈,原来成为Java高手就这么简单啊!记得Tomjava也曾碰到过一个项目经理,号称Java很简单,只要三个月就可以学会。

飘灵儿 发表于 2015-1-30 23:37:20

当然你也可以参加一些开源项目,一方面可以提高自己,另一方面也是为中国软件事业做贡献嘛!开发者在互联网上用CVS合作开发,用QQ,MSN,E-mail讨论联系,天南海北的程序员分散在各地却同时开发同一个软件,是不是很有意思呢?

精灵巫婆 发表于 2015-2-2 21:59:53

当然你也可以参加一些开源项目,一方面可以提高自己,另一方面也是为中国软件事业做贡献嘛!开发者在互联网上用CVS合作开发,用QQ,MSN,E-mail讨论联系,天南海北的程序员分散在各地却同时开发同一个软件,是不是很有意思呢?

透明 发表于 2015-2-8 08:39:48

是一种由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的语言

冷月葬花魂 发表于 2015-3-7 16:53:12

《JAVA语言程序设计》或《JAVA从入门到精通》这两本书开始学,等你编程有感觉的时候也可以回看一下。《JAVA读书笔记》这本书,因为讲的代码很多,也很容易看懂,涉及到面也到位。是你学习技术巩固的好书,学完后就看看《JAVA编程思想》这本书,找找一个自己写的代码跟书上的代码有什么不一样。

柔情似水 发表于 2015-3-10 14:55:09

是一种突破用户端机器环境和CPU

飘飘悠悠 发表于 2015-3-11 23:38:09

你可以去承接一些项目做了,一开始可能有些困难,可是你有技术积累,又考虑周全,接下项目来可以迅速作完,相信大家以后都会来找你的,所以Money就哗啦啦的。。。。。。

若天明 发表于 2015-3-19 16:12:08

是一种使用者不需花费很多时间学习的语言

谁可相欹 发表于 2015-3-28 19:39:50

如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。
页: [1]
查看完整版本: JAVA网页编程之排查“玄色30秒”成绩-为何哀求会列队仓酷云