仓酷云

标题: ASP.NET网页编程之ASP.NET功能的优化:网站优化必要思索的... [打印本页]

作者: 金色的骷髅    时间: 2015-1-16 22:18
标题: ASP.NET网页编程之ASP.NET功能的优化:网站优化必要思索的...
我有个同学,他是搞Java的,他给我说“Java不是效率低,而是速度慢。”,我不是搞Java的,我实在想不透这句话的含义,难道执行速度不就是效率低吗?难道执行速度慢还成效率高了?</p>导读:作者燕洋天写了一系列关于ASP.NET的文章。我有段工夫没有写ASP.NET的器材了,内心老是以为短少了甚么,究竟本人对ASP.NET仍是情有独钟的。在本系列文章中,筹办对照周全的报告ASP.NET的功能的优化,夙昔台到背景,今后本列文也看做为人人的一个手册来查询!以下是文章内容:
网站优化必要思索的方面
在用ASP.NET开辟网站的时分,功能是永久必要思索和存眷的成绩,功能不单单只是程序代码实行时分的速率,而是触及到各个方面的器材。
就拿ASP.NET的一个哀求来说,从扫瞄器向服务器的ASP.NET网站发送哀求入手下手一向到最初全部页面出现在我们眼前,个中哀求经由的每个步骤,都是有分歧的调优体例的,并且挪用的办法也良多,不单单只是罕见的:缓存,多线程,异步等。
本系列的文章决意从两个年夜的方面来说述调优:
前台调优:次要包括怎样只管的削减http哀求,从http哀求入手下手,到怎样加载js,css,怎样紧缩传输的数据等。
背景调优:剖析ASP.NET哀求的处置历程,并在每步给出响应的调优办法,并且在代码构造,架构和数据库的操纵下面给出调优的办法。
记得在方才开辟网站的时分,一提到进步功能,最简单也是最快想到的就是缓存,并且在微软官方的BestPractice的一些文档中也是倡议:层层缓存(在数据存储层,DAL,BLL,UI等都要缓存)。然后在网站中就”缓存各处着花”,最初切实其实实不尽人意。
别的的一个罕见的优化针对数据库的:如只管削减子查询,利用join连接;在经常必要查询的字段下面创建索引。的确,这些是很通用,也不错的一些划定规矩。
并且另有一个别会就是,在优化功能的时分,假如选择优化代码和数据库,常常优化数据库的一些操纵带来的效果会加倍的好,很惋惜的是:在项目中(最少在我开辟的一些项目中),数据库仅仅就只是一个数据的存储设备罢了,仅此罢了,没有发扬出数据库的壮大感化。以是仍是倡议对数据库的外部查询和存储的机制要熟习,究竟良多时分开辟职员也担当了DBA的事情(良多公司没有正式的DBA)。
并且在项目中我们计划数据库的时分,出格是表字段的时分,是必要有些思索的,良多人倡议表字段的长度不要太长,这也是人人罕见的倡议,可是为何?实在,这就必要明白一些数据库的外部存储机制了:在数据库(SQLSERVER)保留的时分,数据是以”页”为最小的单元的,每页有8K的巨细,假如你的一个表中的数据凌驾8K,那末这个表的数据就要分几个页面保留,如许在对数据举行查询的时分,就要跨页查询了,跨页是必要功能损耗的,假如数据都在一个页面上,那末速率一定快些。
以是,要优化网站,就得晓得功能损耗在那里。
当优化的一个网站的时分,不是自觉的混为一谈的,一样平常来讲有两种情形:
1、网站已存在了,而且运转了,如今要优化。
2、正在重新开辟一个新的网站。
假如是第一种情形,那末起首要找出网站功能的瓶颈,夙昔台的哀求的到背景的哀求处置,一向到最初页面的出现,都要一步步的检察。
假如是第二种情形,大概情形就略微好一点,而且网站如今完整由我们把持,一切在开辟和计划的过程当中就能够接纳良多的优化准绳来优化。
优化纷歧定就是代码重写大概做些很年夜的修改,优化时一点点的积累的,就比如代码的重构一样,都是一个堆集的效果。好比,是在页面一入手下手的时分载进js剧本,仍是在全部页面的最初载进js剧本,偶然候常常就只是复杂的调剂一下载进的文件,大概异步的载进剧本,大概经由过程CDN传输剧本等等办法,功能就提拔了。功能的提拔也不是没有价值的,有的价值很小,比方只是把剧本的载进放在页面最初,年夜的价值就是,比方买些服务器设备,如ContentDeliveryNetwork(CDN)来把静态的文件(js,css,image)传送到客户端。以是说,优化必要衡量战略。
不晓得人人是不是有过如许的体味:当看着本人开辟出来的体系功能很好的时分,本人是很自傲的,相反,假如体系很慢,偶然真不想说这个体系是本人做的。
我认为,可以通过更加简单的首次编译,而增加第二次编译的负担,来提高java的运行效率。只是将java源代码进行简单的等价转换,而不假设编译成某种虚拟机器的目标格式,而由本地编译器针对性的二次编译。
作者: 飘灵儿    时间: 2015-1-19 08:04
主流网站开发语言之PHPHP的全名非常有趣,它是一个巢状的缩写名称——“PHP:HypertextPreprocessor”,打开缩写还是缩写。PHP是一种HTML内嵌式的语言(就像上面讲的ASP那样)。而PHP独特的语法混合了C,Java,Perl以及PHP式的新语法。它可以比CGI或者Perl更快速地执行动态网页。
作者: 活着的死人    时间: 2015-1-24 17:55
大哥拜托,Java在95年就出来了,微软垄断个妹啊,服务器市场微软完全是后后来者,当年都是Unix的市场,现在被WindowsServer和Linux抢下大片,包括数据库也一样。
作者: 变相怪杰    时间: 2015-2-2 11:41
市场决定一切,我个人从经历上觉得两者至少在很长时间内还是要共存下去,包括C和C++,至少从找工作就看得出来,总不可能大家都像所谓的时尚一样,追捧一门语言并应用它。
作者: 小妖女    时间: 2015-2-7 19:19
ASP.net的服务器,要求安装一个.net环境,当然我这里指的是windows系统,顺便点一下,.net只能放在windows环境里来运行。Asp.net1.1的就装Framework1.1,Asp.net2.0的就装Framework2.0。
作者: 第二个灵魂    时间: 2015-2-23 05:00
但是java靠开源打出的一片天地,特别是在微软的垄断下能打开今天的局面还是有它的生命力的。
作者: 爱飞    时间: 2015-3-7 06:16
对于中小项目来说.net技术是完全可以胜任,但为什么现在大型公司或网站都选择php或java呢?就是因为微软不够开放,没有提供从硬件到应用服务器再到业务应用的整套解决方案。
作者: 深爱那片海    时间: 2015-3-14 14:49
当然我们在选择Asp.net主机是,除了要考虑服务提供商在版本是否是实时更新以外,机房的环境和配置也是非常重要的,通常选择骨干网的机房,在速度和稳定性上会非常有保证。
作者: 山那边是海    时间: 2015-3-21 10:32
当然我们在选择Asp.net主机是,除了要考虑服务提供商在版本是否是实时更新以外,机房的环境和配置也是非常重要的,通常选择骨干网的机房,在速度和稳定性上会非常有保证。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2