仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 766|回复: 7
打印 上一主题 下一主题

[学习教程] NET网页编程之ASP.NET功能优化的经常使用办法(三)

[复制链接]
愤怒的大鸟 该用户已被删除
跳转到指定楼层
#
发表于 2015-1-16 14:23:01 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
有个问题想请教你一下,呵呵:)你觉得将来学什么方向比较好,我真是想不出来,知道的太少了,麻烦了。13.使哀求管线内的一切模块尽量高效
哀求管线内的一切模块在每次哀求中都无机会被运转。因而,当哀求进进和分开模块时疾速地触发代码相当主要,出格是在不利用模块功效的代码路径里。分离在利用及不利用模块和设置文件时实行吞吐量测试,对断定这些办法的实行速率十分有效。

14.利用HttpServerUtility.Transfer办法在统一使用程序的页面间重定向
接纳Server.Transfer语法,在页面中利用该办法可制止不用要的客户端重定向。

15.需要时调剂使用程序每一个帮助历程的线程数
ASP.NET的哀求布局试图在实行哀求的线程数和可用资本之间到达一种均衡。已知一个利用充足CPU功率的使用程序,该布局将依据可用于哀求的CPU功率,来决意同意同时实行的哀求数。这项手艺称作线程门控。可是在某些前提下,线程门控算法不是很无效。经由过程利用与ASP.NETApplications功能工具联系关系的PipelineInstanceCount功能计数器,能够在PerfMon中监督线程门控。

当页面挪用内部资本,如数据库会见或XMLWebservices哀求时,页面哀求一般中断并开释CPU。假如某个哀求正在守候被处置,而且线程池中有一个线程是自在的,那末这个正在守候的哀求将入手下手被处置。遗憾的是,偶然这大概招致Web服务器上存在大批同时处置的哀求和很多正在守候的线程,而它们对服务器功能有倒霉影响。一般,假如门控因子是内部资本的呼应工夫,则让过量哀求守候资本,对Web服务器的吞吐量并没有匡助。

为和缓这类情形,能够经由过程变动Machine.config设置文件节点的maxWorkerThreads和maxIOThreads属性,手动设置历程中的线程数限定。

注重:帮助线程是用来处置ASP.NET哀求的,而IO线程则是用于为来自文件、数据库或XMLWebservices的数据供应服务的。

分派给这些属性的值是历程中每一个CPU每类线程的最年夜数量。关于双处置器盘算机,最年夜数是设置值的两倍。关于到处理器盘算机,最年夜值是设置值的四倍。不管怎样,关于有四个或八个CPU的盘算机,最好变动默许值。关于有一个或两个处置器的盘算机,默许值就能够,但关于有更多处置器的盘算机的功能,历程中有一百或两百个线程则弊年夜于利。

注重:历程中有太多线程常常会下降服务器的速率,由于分外的高低文互换招致操纵体系将CPU周期花在保护线程而不是处置哀求上。

16.得当地利用大众言语运转库的渣滓接纳器和主动内存办理
当心不要给每一个哀求分派过量内存,由于如许渣滓接纳器将必需更频仍地举行更多的事情。别的,不要让不用要的指针指向工具,由于它们将使工具坚持举动形态,而且应只管制止含Finalize办法的工具,由于它们在前面会招致更多的事情。出格是在Finalize挪用中永久不要开释资本,由于资本在被渣滓接纳器接纳之前大概一向损耗着内存。最初这个成绩常常会对Web服务器情况的功能形成扑灭性的冲击,由于在守候Finalize运转时,很简单耗尽某个特定的资本。

17.假如有年夜型Web使用程序,可思索实行预批编译
每当产生对目次的第一次哀求时城市实行批编译。假如目次中的页面没有被剖析并编译,此功效会成批剖析并编译目次中的一切页面,以便更好天时用磁盘和内存。假如这必要很长工夫,则将疾速剖析并编译单个页面,以便哀求能被处置。此功效带给ASP.NET功能上的优点,由于它将很多页面编译为单个程序集。从已加载的程序集会见一页比每页加载新的程序集要快。

批编译的弱点在于:假如服务器吸收到很多对还没有编译的页面的哀求,那末当Web服务器剖析并编译它们时,功能大概较差。为办理这个成绩,能够实行预批编译。为此,只需在使用程序激活之前向它哀求一个页面,不管哪页都可。然后,当用户初次会见您的站点时,页面及其程序集将已被编译。

没有复杂的机制能够晓得批编译什么时候产生。需一向比及CPU余暇大概没有更多的编译器历程(比方csc.exe(C#编译器)或vbc.exe(VisualBasic编译器))启动。

还应只管制止变动使用程序的in目次中的程序集。变动页面会招致从头剖析和编译该页,而交换in目次中的程序集则会招致完整从头批编译该目次。

在包括很多页面的年夜范围站点上,更好的举措多是依据企图交换页面或程序集的频仍水平来计划分歧的目次布局。不常变动的页面能够存储在统一目次中并在特定的工夫举行预批编译。常常变动的页面应在它们本人的目次中(每一个目次最多几百页)以便疾速编译。

Web使用程序能够包括很多子目次。批编译产生在目次级,而不是使用程序级。呵呵,那你就关注微软的招聘信息以及别人的招聘经验啊,还有也不一定去做技术的,你如果真的想去就多了解了解。(其实我的意思是说想到微软做技术是很不容易的。
透明 该用户已被删除
7#
发表于 2015-3-20 13:29:15 | 只看该作者
以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。
乐观 该用户已被删除
6#
发表于 2015-3-13 05:00:35 | 只看该作者
ASP.net1.1和2.0在程序上的语法也有很大不同,现在2.0属于新出来的,不知道半年后会不会有3.0(说笑一下)。Windows2003系统自动支持ASP和ASP.net环境,不用安装任何程序。Asp.net属于编译语言。ASP的最大不同(ASP属于解释语言)。
简单生活 该用户已被删除
5#
发表于 2015-3-6 16:43:16 | 只看该作者
Asp.net脚本的出现,为ASP空间带来了更高的稳定性,同时也为程序员建站提供更高环境!
小魔女 该用户已被删除
地板
发表于 2015-2-20 03:44:28 | 只看该作者
对于中小项目来说.net技术是完全可以胜任,但为什么现在大型公司或网站都选择php或java呢?就是因为微软不够开放,没有提供从硬件到应用服务器再到业务应用的整套解决方案。
柔情似水 该用户已被删除
板凳
发表于 2015-2-7 02:39:31 | 只看该作者
虽然在形式上JSP和ASP或PHP看上去很相似——都可以被内嵌在HTML代码中。但是,它的执行方式和ASP或PHP完全不同。在JSP被执行的时候,JSP文件被JSP解释器(JSPParser)转换成Servlet代码,然后Servlet代码被Java编译器编译成.class字节文件,这样就由生成的Servlet来对客户端应答。所以,JSP可以看做是Servlet的脚本语言(ScriptLanguage)版。
小女巫 该用户已被删除
沙发
发表于 2015-1-24 11:21:49 | 只看该作者
CGI程序在运行的时候,首先是客户向服务器上的CGI程序发送一个请求,服务器接收到客户的请求后,就会打开一个新的Process(进程)来执行CGI程序,处理客户的请求。CGI程序最后将执行的结果(HTML页面代码)传回给客户。
深爱那片海 该用户已被删除
楼主
发表于 2015-1-18 13:46:19 | 只看该作者
是目前ASP在UNIX/Linux上的应用可以说几乎为0)。所以平台的局限性和ASP自身的安全性限制了ASP的广泛应用。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 18:17

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表