1.根据不同的网络特性来看:
1.1局域网
在局域网中,降低M T U (最大传输单位)值对可以避免复制数据和要求校验,而通过优化select系统调用或在Socket事件处理器中执行计算可以优化请求并发管理,利用HTTP1.1持续连接等都可以使系统性能得到相应的改善但在广域网的环境下却没有什么大的作用,有的甚至恰恰相反。
1.2广域网
在广域网中,终端用户的请求的等待时间依赖于与网络延迟的程度,连接带宽限制情况。对于广域网,软硬中断在网络处理中占有很大的分量,所以采用适应的中断处理机制将会给服务器的响应能力带来很大的好处;将服务器定位在内核和将基于进程设计改为基于事务处理也可以不同程度的提高服务器的性能。
2.关于Web负载
除了对Web负载的特征进行分析以便在评测时更好地再现真实负载之外,还要考虑Web服务器所在的网络环境下负载的情况。人们不仅要求服务器满足正常的工作负载要求,而且在高峰时期依然要保持较高的吞吐量。但是,服务器在高负载的情况下的性能表现往往低于人们的期望。
服务器过载的情况分为两种:
2.1瞬间过载
服务器暂时的、短时间的超载,这种情况主要是由服务器负载的特点引起的。大量的研究表明,Web请求的网络通信量分布是自相似的,即Web请求的通信量可以在很大范围内有显著的变化。这就造成服务器常常短时间的超载,但这样情况持续的时间一般很短
2.2服务器长时间的超载
这种情况一般是由某一特殊事件引起的,例如服务器受到拒绝服务攻击或者发生了“活锁”现象
第一种服务器超载情况是不可避免的,但第二种情况则可以通过对服务器改进来改善。抛开恶意的攻击不算,仔细分析服务器处理信息包的过程可以发现,造成系统在超载情况下性能下降的根本原因是高优先级处理阶段对CPU的不公平抢占。
因此,如果限制高优先级处理阶段对CPU的占用率,或者限制处理高优先级的CPU个数,都可以减轻或者消除收包活锁现象。
具体的可以采用以下的方法:
2.2.1采用轮询机制
为了减少中断对系统性能的影响,在负载正常的情况下采用“下半处理” 的方法就非常有效,而在高负荷情况下,采用这个方法仍然会造成活锁现象,这时可以采用轮询机制。虽然这个方法在负载正常的情况下会造成资源的浪费和响应速度降低,但在网络数据频繁到达服务器时就要比中断驱动技术有效的多。
2.2.2减少上下文切换
这种方法不管服务器在什么情况下对性能改善都很有效,这时可以采用引入核心级(kerne1—leve1)或硬件级数据流的方法来达到这个目的。核心级数据流是将数据从源通过系统总线进行转发而不需要使数据经过应用程序进程,这个过程中因为数据在内存中,因此需要CPU操作数据。
硬件级数据流则是将数据从源通过私有数据总线或是虽等DMA通过系统总线进行转发而不需要使数据经过应用程序进程,这个过程不需要CPU操作数据。这样在数据传输过程中不需要用户线程的介入,减少了数据被拷贝的次数,减少了上下文切换的开销。
2.2.3减低中断的频率(主要是针对高负荷情况的方法)
这里主要有两种方法:批中断和暂时关闭中断。批中断可以在超载时有效的抑制活锁现象,但对服务器的性能没有什么根本性的改进;当系统出现接收活锁迹象时,可以采用暂时关闭中断的方法来缓和系统的负担,当系统缓存再次可用时可以再打开中断,但这种方法在接收缓存不够大的情况下会造成数据包丢失。
四.Web服务器优化总结
Web服务器性能是整个Web系统的关键环节,提高Web服务器的性能也是长久以来人们一直关注的课题。这里通过对Web服务器的工作原理和现有的优化方法和技术的分析,得出了对待Web服务器性能的提高也应该具体问题具体分析,要在具体的应用环境中,根据其特点来采取相应的优化措施。
买品牌服务器合算,性价比更高。在稳定性方面表现稍好,同时,品牌服务器一般都配有管理模块和完善的售后服务,简化了用户管理步骤,也能在一定程度上帮助用户节约成本,另外,使用品牌服务器对企业的形象也有一定的提升。
至于性能方面,实际上,与普通电脑一样道理,在性能上起决定性作用的还是处理器、内存、硬盘等几大核心配件,因此,配置相同的品牌机与组装机性能上并无明显差异;再来说说稳定性和售后服务,服务器的稳定性一般说来有两个方面决定,一是配件的品质,由于这个原因所导致的服务器稳定性问题并非组装服务器独有,相同配置情况下的品牌服务器和组装服务器,由配件导致系统不稳定的概率是一样的,第二个原因则是服务器机箱布局设计。【感兴趣的话点击此处,了解一下】
关于服务器购买的选择,亿万克是一个不错的选择,亿万克旗下产品主要有亚当通用机架式服务器系列、亚当液冷服务器系列及蛟云存储设备系列。其中,亿万克服务器产品采用最新的Intel至强可扩展处理器,针对云、企业、高性能计算、网络、安全和物联网工作负载进行优化,支持海量存储空间,可根据业务需求弹性扩容,具备丰富的IO扩展能力,可提升I/O 带宽,为数据中心到边缘的各种工作负载提速。
首先先要确定你组装服务器是用来做什么的,有多少人访问?或者打算支持多少人访问?如果是简单的网页服务器(非数据库服务器或访问量很小的网站服务器),那么对硬件的要求就不会很高,可以用一些PC机的硬件来完成。
类似:酷睿2双核 ,Intel??965主板,DDRII × 1GB,80GB SATA ,千兆以太网卡 1U 机架式 。
其实如果单纯的从服务器的硬件来讲,如果是小网站,这种就足够了,但是如果是数据库服务器或游戏服务器,那么对硬件的要求就比较高了,还要看你的程序(或网站)编写和效率性以及网站程序和操作系统的选择是否合理,服务器带宽是否选择合适,是一个综合决定因素。
举几个目前比较常见的WEB服务器的软件搭配
ASP程序 PHP程序 JSP程序 SQLSERVER数据库 MYSQL数据库
WINDOWS2003(IIS) 支持 IIS或阿帕奇 TOMCAT 支持 支持
LINUX 不支持 阿帕奇 Tomcat 不支持 支持
WINDWOS系统容易上手,但是安全性和效率性最低,尤其是使用了SQLSERVER数据库后,安全性基本谈不上。
中高端的服务器硬件:
CPU:四核5405 2.0 两个
主板:超微X7DBR-3
内存:绮梦达667 FBD 16G
硬盘:迈拓 4*146 SAS,10K,
光驱:笔记本光驱(CD-ROM)
支持RAID0+1
此种配置适合做数据库服务器,属于相对高端的。
总体讲,硬件的选型还是要从多各方面去考虑。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)