,作为一个网络服务器程序,性能永远是第一位的指标,性能可以这样定位:在给定的硬件条件和时间里,能够处理的任务量,能够更大限度的利用硬件性能的服务器设计才是良好的设计,设计良好的服务器还应该考虑平均服务,对于每个客户端,服务器应该给予每个客户端平均的服务。不能让某一个客户端长期得不到服务而发生“饥饿”的状况,可伸缩性,也就是说,随着硬件能力的提高,服务器的性能能够随之呈线性增长,实现高性能的途径,一个实际的服务器的计算是很复杂的,往往混合了IO计算和CPU计算,IO计算指计算任务以IO为主的计算模型,比如文件服务器,邮件服务器,混合了大量的网络IO和文件IO,CPU计算指计算任务中很少有或者没有IO,比如加密/解密,编码/解密,数学计算等等,在CPU计算中,基于CPU的任务的并发执行速度不可能比串行的执行速度快,但是我们可以看到在Windows NT下线程创建和切换的额外开销非常小,对于非常短的计算,并发执行仅仅比串发执行慢10%,而随着计算长度的增加,这两个时间就非常接近了,可见对于纯粹的CPU计算来说,如果只要一个CPU,多线程模式是不合适的,考虑一个执行密集的CPU计算的服务,如果有几十个这样的线程并执行,过于频繁的任务切换导致了不=必要的性能损失,在编程实现上,单线程模型计算模型对于服务器程序设计是很不方便的。
关于更多的服务器相关性能方面的专业知识请咨询广州神马资讯科技有限公司
欢迎来电详询
广州神马资讯科技有限公司
广州天河区棠东东路7号御富科贸园C2座203-205房