服务器的性能

服务器要提供服务,性能是十分关键的问题,但是究竟服务器应该跑多快,完全由应用决定的,我不赞成一味的追求性能。
 
    对于性能的问题,可以通过分布应用得到解决。主要的网络应用的负载分担方式有DNS和NAT两用主要方式。WebFarme就是一个使用NAT进行负载分担的典型应用。其他一些服务的群集方案也是值得借鉴和参照的。
另外,可以对用户应用偏好进行收集,然后进行必要的优化。如,WEB应用中使用的生成静态页面。对此本人的经验不是很多,可以多参考一些大的厂商提供的解决方案。
 
    总之:我觉得,从总体策略上解决性能的问题,更为重要。没有必要过分强调单个应用服务器的性能,只要不去浪费,没有设计上的瓶颈,我觉得基本上就可以了。
 
    不过对于性能很关键的服务器,压力究竟有多大,运行究竟怎么样?我们还是十分关心的。所以我觉得,必要的测量方法应该引入到服务器的设计中来。处理数据包的时长,关键代码的调用,用户请求类型的分布,这些东西对于查找服务器设计上的缺陷和性能上的瓶径相当有帮助。统计这些信息的确会消耗一些性能,但我觉得还是值得的。
 
    同时这些信息对于部署工作也十分重要,通过对这些统计信息的收集,我们可以确定服务器的处理能力,可以作为服务器正常运行和进行设备扩容的依据。
 
    对于协议有效性,和一些设计的功能的有效性,如重发机制、缓冲机制等。可以借助统计功能进行量化的评估,并居此进行改进。可以避免盲目对系统进行优化,做一些没有必要的工作。
 
    我的方式是尽量统计有用的信息,同时使用必要的机制不影响服务的性能,如使用Windows平台提供的Interlock函数,尽量准确的统计信息。同时由于性能统计的代码比较简单,但分布的比较散,可以借助设计模式的知识解决这一问题。

你可能感兴趣的:(网络通讯,服务器,应用服务器,设计模式,网络应用,优化,工作)