动态页面中影响整个页面效率的原因主要包括:复杂的或不合理的处理逻辑、各类服务器端技术的使用控制以及对数据库访问的处理方法。笔者本次主要讨论各类服务器端技术的使用控制问题,对于数据库访问的优化则在下一小节中进行详细的介绍。
1.合理使用会话
由于http是一种无状态的通信协议,因此,为识别来自不同客户端的请求及相关信息,在动态网页开发中不可能避免地要用到session技术。在使用会话变量时,服务器会为每个新来的用户创建一个会话变量放到内存中,直到用户用户离开网站一定时间后,会话变量所占的内存才被释放。因此,如果页面中会话变量使用或存储的内容过多,对服务器的内存无疑会产生巨大的压力,严重影响整个服务器运行的性能。解决上述问题一般可从如下几个方面入手。
·合理设置会话超时时间。网站管理人员应根据网站特点及日志记录估算每个网页用户的平均停留时间,据此合理设置会话超时时间,以便能及时释放被占用的内存。
·及时主动关闭会话。使用session对象提供的abandon等方法来及时关闭一个会话。
·使用session存储的内容。session可存储各类对象,使session可更灵活地提供对各类信息存储的功能。但如果在session可存储的内容过多,例如,将记录集存储在session中以实现分页功能,则会大量消耗服务器内存,当网站中访问量较大时,会严重影响网站的性能。因此,应控制session存储的内容,只存储非常必要的信息,如用户认证信息等。
2.合理使用缓存技术
大多数开发技术都提供了缓存技术,可在response对象中设置网页在服务器端的缓存大小。当网页被生成时,首先输出至缓冲区,待缓冲区已满或整个文件都被处理完毕,才会输出页面至客户端,在此过程中,服务器端无法再响应客户端信息。因此,如果页面缓冲区过大或页面的逻辑处理复杂时,会让用户长时间等待。
为解决上述问题,可根据整个页面的大小以及逻辑处理的复杂程度合理设计缓冲大小,或者利用动态缓存技术或将一个页面分为多个部分,并用respone.flush强制输出页面。
3.合理使用asp.net中的服务器控件
asp.net目前已经成为主流web程序,极大地提高了开发效率,但是由于各类控件需要在服务器端创建相应的对象,并且要求服务器进行更多的转译工作才能显示成为各类html标记,因此,对服务器性能的影响不可忽视。为提高站点的性能,一方面要尽可能地利用html标记服务器端控制的使用,例如,只是显示静态信息而不进行更改时,一方面要尽可能地利用html标记服务器端控件的使用,例如,只是显示 静态信息而不进行更改时,没必要再使用label控件,另一方面实现同样的功能时要尽可能使用更简单的控件,如只简单地显示数据列表时可利用repeater或datalist或datalist控件而不是datagrid。
一个成功的网站是有多种因素组成的在无锡微信网站应该怎么做香港BGP和CN2哪个快?香港BGP线路和CN2线路区别网站制作浅谈低质量网站服务器的影响周口网站制作应该需要考虑什么?企业建设网站是否需要策划,企业建设策划网站推广中的文章要怎么去写呢?页面设计师要懂网页设计技术