澳门新浦京娱乐场网站-www.146.net-新浦京娱乐场官网
做最好的网站

澳门新浦京娱乐场网站domino服务器品质优化,中

随着企业业务的快速发展,企业信息化建设逐步列入议事日程。企业信息化是推进中小企业迅速发展的一个重要手段,通过企业信息化建设,对企业管理模式的优化、业务流程的规范,工作效率的提升都有着显著的作用,从而能够全面提升中小企业在市场上的竞争力。

1.为什么要进行高并发与高负载的研究

性能测试的概念是什么,基本目的是什么,我想大家都基本清楚,不作详述,总之,性能测试只是测试过程中的一种方式,帮助我们的功能更好的运行,如果功能测试是可用,易用,满足需求、用户使用为目的,性能测试无非就是让这些目的更流畅。没有什么专业的概念,无非实现两个字:好用!

一、高并发和高负载的约束条件

(一)了解您的配置

中小企业信息化的基础就是信息化平台的建设,而信息化平台建设的重点则是服务器的选择。服务器作为整个信息化平台的重要组成部分,负责提供各类网络服务,如资源共享、流程控制等重要工作,可以说服务器的性能在一定程度上决定着信息化建设的成功与否。也正是如此,在服务器配置的过程中,出现了多种不正确的现象,如为了节省资金,随便购买一台服务器,在开展工作后,明显出现小马拉大车的情况,导致信息系统不仅不能为企业发展助力,反而经常在关键时刻掉链子;同样,也出现过花大量资金购买了高档服务器,可在实际工作中空置。为了能设计出适合中小企业使用的服务器性能方案,最终购买到适合自己企业的信息化系统的服务器,我们需要了解两个方面的内容:

2、高并发和高负载的约束条件

所以,性能测试这种测试方式在发生过程中,其中一个过渡性的工作,就是对执行过程中的问题,进行定位,对功能的定位,对负载的定位,最重要的,当然就是问题中说的“瓶颈”,接触性能测试不深,更非专家,自己的理解,瓶颈产生在以下几方面:

硬件

Domino管理员应该知道所支持的服务器的配置。任何一个服务器的主要元件有内存、CPU、磁盘(包括逻辑的和物理的),其他元件诸如在线缓冲内存连同磁盘控制器的数量等,也是比较重要的。
下面是一些附加的注意事项,能够使您避免发生配置相关的问题:
1)使用尽可能快的磁盘(例如10,000 RPMs)。
2)在软件RAID上使用硬件RAID,这样速度更快,并且能够减少CPU的负载。
3)一个充足的磁盘子系统能够减少内存需求,因为较少的临时I/O来占用内存。
4)对于Windows NT平台,整理磁盘碎片能充分提高性能。建议每周整理磁盘碎片一次。
5)确保服务器即使是在最大负载时,也至少有4MB内存可用(10 到 20MB更好)。要注意的是,平台的缓存策略有可能会起阻碍作用。
6)标准的服务器配置对于Domino服务器不一定是最优的,重要的事情是足够的磁盘和控制器。您能够使用硬件销售商的NotesBench基准数据作为指导。

1、服务器性能的主要参数指标

3、解决之道——硬件篇

1、网络瓶颈,如带宽,流量等形成的网络环境

部署

(二)通过物理磁盘来分配I/O

1.1运算速度

4、解决之道——部署篇

2、应用服务瓶颈,如中间件的基本配置,CACHE等

操作系统

通常物理的和逻辑的磁盘结构是人们经常忽略的系统资源,是最经常过载使用的。在很多Domino服务器上提高性能的最好办法是通过不同的物理磁盘来分配I/O。
理想的情况是,将下面和I/O相关的文档放在不同的物理磁盘上:
1)不同平台的页面文档 
2)您的NSF文档
3)Domino R5 事务日志
假如您能将他们放在不同的控制器上,那是最好的。这个方法是通过在总线、控制器、端口和磁盘上分发负载来提高I/O吞吐量。因此,最好是使用几个小磁盘,而不是个容量大的磁盘。特别地,您将R5 事务日志和其他磁盘活动隔离地越开,您的服务器性能就越好。
注意,对于某些系统,例如AS/400,操作系统能在可用的磁盘和控制器间自动优化数据分布 。

运算速度主要包括CPU个数,字长,主频速度等方面。CPU个数有两方面的含义:一是指实际CPU的个数,另一个是指一个物理CPU的内核个数。目前随着CPU技术的发展,4核CPU已经开始普及。

5、解决之道——环境篇

3、系统瓶颈,这个比较常用:应用服务器,数据库服务器以及客户机的CPU,内存,硬盘等配置

Web 服务器

(三)经常对性能方面的衡量数据做日志

1.2内存系统

6、解决之道——SiteEngine篇

4、数据库瓶颈,以ORACLE为例,SYS中默认的一些参数设置

PHP

假如您不做性能方面衡量数据的日志,您就不能衡量您的调整是成功或失败。假如您经常做日志,您不但对您所做的事情有一个更好的理解,更为额外的支出提供了周详的文档证实。
您需要从操作系统和Domino两方面来度量。下面是主要的衡量标准(根据平台):
1)全部的CPU使用率(以百分数表示)。假如该值大于70%或80%,则在很多平台上就会有一个红色的标志来警告,例如Windows NT。
2)可用内存或使用率。记住,当可用内存小于4MB时,减少缓存需求。
3)磁盘序列长度(通常在序列中应该小于2项)和平均磁盘服务时间(对于NT应该小于70%)。
4)页面文档尺寸和使用率。使用率应该正当地低一些,或值得评估您的磁盘子系统的使用率和效率。例如,对于NT平台上的Domino邮件服务器来说,页面使用率一般应小于150页/秒。
5)关于邮件吞吐量、复制、Web服务器活动、数据库活动等方面的Domino统计和事件。
6)Domino日志(log.nsf),很烦琐但的确很有用(注意仅当需要时才启用日志,因为他会影响服务器性能)。
注意经常收集和分析数据,在做重大配置改变之前或之后,捕获性能方面的数据是很必要的。

内存系统包含内存容量、速度、是否支持内存镜像等方面。由于服务器内存在各种技术,相对兼容机来说要严格得多。它强调的不仅是内存的速度,而且还要求它的内在纠错技术能力和稳定性。

7、解决之道——测试篇

5、应用程序本身瓶颈,

MySQL

(四)优化Domino R5

1.3磁盘子系统

1、为什么要进行高并发和高负载的研究

针对网络瓶颈,现在冒似很少,不过也不是没有,首先想一下如果有网络的阻塞,断网,带宽被其他资源占用,限速等情况,应用程序或系统会是什么情况,针对WEB,无非是超时,HTTP400,500之类的错,针对一些客户端程序,可能也是超时,掉线,服务器下发的,需要服务器返回的信息获取不到还有一种更明显的情况,应该就是事务提交慢,如果封装事务的代码再不完善,一般造成的错误,无非就是数据提交不完整,或者因为网终原因 代码缺陷造成重复性提交。如此综合下来,肯定是考虑网络有瓶颈,然后考虑网络有问题时,怎样去优化,是需要优化交互的一些代码,还是接口之类的。

测试

在自动配置和动态重新配置关键参数以达到最大性能方面,Domino R5做了很多工作。下面是关于怎样优化Domino R5服务器本身的一些建议:
1)正确配置mailbox的数量。多个mail.box文档能够减少存放邮件和其他邮件相关的活动对mail.box文档的争夺。当您添加第二个mail.box时,就能够很大地改善性能。经验是我们使用一个mail.box支持1~200个用户,两个或更多的mail.box支持200~1000个用户,最多十个mail.box支持10 00个以上的用户。
2)对于非分区的系统,让Domino动态配置NSF_Buffer_Pool_Size变量。对于低内存的服务器配置,这一点特别重要,大的缓冲区会妨碍核心的内存管理。
3)对于分区的系统,您需要分配NSF_Buffer_Pool_Size,因为Domino不能自动决定每个分区中实际可用的内存。我们推荐的公式是:(系统内存/分区数量)/4。
4)基于可用内存,让Domino根据需要来分配邮件传输线程(为了本地传输)。
5)根据需要,让Domino路由器来分配邮件传输线程(为了发送到其他服务器)。 
6)使用R5事物日志。他提供给您大批完整的数据,能够使服务器快速启动,将性能提高10%~20%。
适当地配置一个Domino R5服务器运行在中档的Windows NT机器上,每分钟能传输20,000条消息(每条消息平均10K字节)!

在服务器中,磁盘子系统的性能高低直接影响着服务器的整体性能,这点尤其体现在数据库服务器和文件服务器中。因此,在选择服务器产品时,磁盘子系统成为我们第二个重点考察的对象。磁盘子系统则包括磁盘容量、RAID级别、磁盘IO吞吐率等参数。

1.1、产品发展的需要

应用服务的瓶颈的定位,比较复杂,学习中,不过网上有很多资料可以参考的。一般像tomcat,weblogic之类的,有默认的设置,也有经过架构和维护人员进行试验调试的一些值,这些值一般可以满足程序发布的需要,不必进行太多的设置,可能我们认识的最基本的就是JAVA_OPTS的设置,maxThreads,time_out之类的参数我们做借助LR,Jemeter或webload之类的工具,执行性能测试,尤其是对应用服务造成了压力,如果应用服务有瓶颈,一般我们设置的log4j.properties,日志都会记录下来。然后根据日志,去进一步确定应用服务的问题

二、解决之道——硬件篇

(五)使用NotesBench基准数据

1.4网络子系统

1.2、公司发展的需要

系统瓶颈,这个定位虽说比较复杂,但是有很多前辈的经验值参考,不作说明,相信用LR的同行,也可以从性能记数器中得出一些指标值,加上nagios,cacti,可以很明显的看出系统哪些资源够用,哪些资源明显不够用。不过,一般系统瓶颈的造成,是因为应用程序本身造成的。关于这点儿的分析和定位,就需要归入应用程序本身瓶颈分析和定位了。

处理能力的提升:部署多颗CPU,选择多核心、具备更高运算频率、更大高速缓存的CPU;

很多基准只是告诉您销售商想要您知道的东西,但是NotesBench基准却和众不同。 NotesBench基准数据能够让您对不同销售商的不同硬件配置上的Domino容量做一个周详的比较,您甚至能够用这些数据估计出总成本。仔细阅读NotesBench数据和由他得到的周详报告,是个很好的收集信息的方法。通过他,您能够优化您的系统配置。检测专家们使用(或未用)的磁盘结构、内核配置、补丁程式等,从他们的系统中得到最大的性能参数。

网络子系统是用通信线路和通信设备将分布在不同地点的具有独立功能的多个计算机系统互相连接起来,在网络软件的支持下实现彼此之间的数据通信和资源共享的系统。

1.3、当前形式决定的

现在基本所有的东东,都离不开数据库这个后台,数据库的瓶颈实在是不知道是什么概念,数据库管理员的工作,数据库管理员日常做的工作,可能就是有瓶颈定位的工作,比如:查询一下V$sys_event,V$sysstat,v$syssql之类的表,比对一下日常正常情况下的监控数据,看一下有没有异常等。其他方面,我也不是太了解。

处理能力的提升最直接的反应在于Web请求的处理效率和PHP程序的执行效率。

(六)从信号中分析

2、企业信息系统所提供的服务及主要性能要求

2、高并发和高负载的约束条件

应用程序瓶颈,这个是测试过程中最需要去关注的,需要测试人员和开发人员配合执行,然后定位,我这儿做的大都是执行性的,比如会有脚本去运行,开发人员会结合jprofiler之类的工具,去看一下堆遍历,线程剖析的情况确定哪儿有问题。大致是这样,没有实际操作过

内存带宽与容量:更大的内存带宽和容量;

信号是用于处理线程的一个通信机制。本质上信号是使用握手机制来决定对资源的使用。当服务器超负荷工作时,管理员可能会从控制台收到信号。下面是通过观察Domino 4.6而得到的一些常见的信号,并解释了从性能方面考虑,他们意味着什么:
1)Collection (0x30B) 和 Collection Queue (0x309).:暗示了CPU和内存达到了瓶颈。最好的解决办法是将管理进程活动延期到空闲的时间,优化I/O子系统。
2)DB (0x245) 和 DB Queue (0x244):暗示了数据库缓存和磁盘I/O 达到了瓶颈。 最好的解决办法是增加更多的内存,优化I/O字系统。启用域级的复制也会有所帮助。
3)BTree (0x255):暗示了怎样存储视图和刷新视图索引的问题。最好的解决办法是将刷新视图索引延期到空闲的时间,优化I/O子系统。

目前,中小企业一般要求提供的服务主要有文件服务、数据库服务、邮件服务、Web服务、多媒体服务、终端服务、其它专用业务服务等。它们对服务器的要求各有侧重。

2.1、硬件

逐步细化分析,先可以监控一些常见衡量CPU,内存,磁盘的性能指标,进行综合分析,然后根据所测系统具体情况,进行初步问题定位,然后确定更详细的监控指标来分析。

内存带宽与容量的提升最直接的反应在于应对数据库大量的数据交换。

(七)了解服务器过载使用时的症状

2.1文件服务

2.2、部署

怀疑内存不足时:

磁盘搜索与I/O能力:选择更高的转速、更大的硬盘缓存、组件磁盘阵列(RAID);

对服务器来说典型的问题是速度慢或邮件传输失败,延长了用户的响应时间和查找邮件地址的时间。
为检查邮件传输,您能够通过查看您的磁盘使用时间的百分比和邮件序列的长度。对于R5,您也能够检查 mail.box 文档的数量和本地邮件传输线程的数量。
为了提高响应时间,应尽可能优化和I/O相关的文档在磁盘子系统中分布的方式。
假如地址搜索很慢,能够使用户在自己的客户机上使用轻量目录,这样会减少服务器和网络的负载。您也能够检查姓名搜索缓存(Name Lookup Cache)的点击率,一个好 的点击率值应该是85%。
假如问题是很慢的页面刷新率或不响应的Web服务器,检查HTTP线程的数量和磁盘使用时间的百分比。配置HTTP线程的数量为1:10 (每十个用户使用一个线程)。
怎样来确定一个服务器没有被充分使用?对于NT,指数是CPU的使用率低于50%,磁盘访问率低于50%,或经常有多于200MB的可用内存。但是注意新添加的用户所需要的资源可能不等于您当前用户的平均资源。例如,随着用户数量的增加,每个用户的内存需求会减少,因为固定的内存被分配给了更多的用户。

文件服务是企业中比较常见的一种信息化管理应用,也是一种发展的比较成熟的网络应用之一。如FTP服务、文件共享服务等。在这种类型的服务中,服务器相当于一个仓库,保证用户和服务器磁盘子系统之间快速传递数据,数据由磁盘到内存,然后通过网络传送给客户,在这个过程中,网络的速度一般是很慢的,对系统性能的影响也是最大的,其次是要求磁盘系统的IO速度,而对CPU和内存的要求一般不高。

2.3、操作系统

方法1:

磁盘搜索与I/O能力的提升最直接反应在于数据库大量的查询和读写以及文件的读写。

(八)考虑群集

2.2数据库服务

2.4、Web 服务器

【监控指标】:Memory Available MBytes ,Memory的Pages/sec, page read/sec, Page Faults/sec

网络带宽的提升可考虑的因素包括: 更大带宽、多线路接入、独享带宽;

群集是Domino企业服务器的主要特征。群集能帮助您实现动态负载均衡,在群集中能够自动优化资源的使用。在群集中还能够实现邮件和应用的失效转移,包括Web应用。您能够将Domino支持的任何平台上的R4和R5服务器集合在一个群集中,也能够将分区服务器和未分区的服务器群集在一起。
Domino群集是增加服务器资源的鲁棒性和可靠性的最好方法,也是将R5服务器加入到R4群集中的最安全的方法。
根据您的平台,一个低价格系统的群集能以较低的初始成本提供比一个单独庞大的服务器更好的可靠性。另外,群集大大减少了连接服务器失败的用户数量。例如,在Windows NT平台上,假如一个系统中激活的用户超过750个,我们推荐使用群集。

数据库在网络时代获得了巨大的发展,数据库服务应用越来越广泛,而它也是对系统各方面性能要求最高的应用,如财务、库存和人事管理应用等。需要高性能CPU和快速的磁盘子系统来满足大量的随机I/O请求及数据传送,因此数据库服务对服务器性能的瓶颈依次为:内存、磁盘子系统和CPU。

2.5、PHP

【参考值】:

服务器在大负载的情况下,对网络带宽的占用是十分可观的。

(九)考虑分区

2.3邮件服务

2.6、MySQL

如果 Page Reads/Sec 比率持续保持为 5,表示可能内存不足。

策略:硬件设施是应对大负载的基础,硬件设施的投入可根据实际压力和预算量力而行。

分区能提高资源使用率和高端Domino系统的可靠性,也能够使您在维持合并利益的同时,按部门或功能来分布服务器。一些组织甚至使用分区来创建“服务级选项”(即将一些重要的经理人员放在一个分区,其他人放在另一个分区)。 
通常,系统中分区的数量不应该超过CPU的数量。AS/400系统是个例外,他很适合做分区。AS/400平台本身从逻辑上也将分区隔离开,所以即使一个分区坏了,其他的分区仍能够正常工作。

随着网络的发展和普及,邮件服务正在成为人们日常生活中不可缺少的部分。邮件服务器扮演了电子邮件路由器和仓库的角色,服务器性能的瓶颈依次为:网络子系统、内存、磁盘子系统和CPU。

2.7、测试

Page/sec 推荐00-20(如果服务器没有足够的内存处理其工作负荷,此数值将一直很高。如果大于80,表示有问题)。

三、解决之道——部署篇

(十)知道何时联合何时分布

2.4 Web服务

3、解决之道——硬件篇

方法2:根据Physical Disk 值分析性能瓶颈

3.1、服务器分离

除非您有令人信服的理由,否则选择在分布之上联合作为增长策略。联合总是降低成本并提高可靠性:较少的服务器意味着不太复杂的服务器拓扑、较少的服务器对服务器之间的活动、较少的网络流通、较少的复制、服务器之间较少的邮件传输。
什么时候选择分布服务器而不是将他们联合在一起?您可能有地理上的分布需要,本地的服务器以低成本来处理本地的用户和数据。或您开始的拓展比较小,但是增长很快,所以添加更多的服务器来容纳新用户,或为了更好地利用当前的投资。

Web服务器的性能是由网站内容来决定的。如果Web站点是静态的,系统瓶颈依次是:网络子系统和内存。如果Web服务器主要进行密集计算(例如动态产生Web页)。系统性能瓶颈依次是:内存、CPU、磁盘子系统和网络子系统。

处理能力的提升:部署多颗CPU,选择多核心、具备更高运算频率、更大高速缓存的CPU;

【监控指标】:Memory Available MBytes ,Pages read/sec,%Disk Time 和 Avg.Disk Queue Length

32、数据库集群和库表散列

2.5多媒体服务

处理能力的提升最直接的反应在于Web请求的处理效率和PHP程序的执行效率。

【参考值】:%Disk Time建议阈值90%

3.3、镜像

多媒体服务是负责媒体控制及媒体流在网络上传输的功能,I/O吞吐量对服务器性能起着关键的影响。视频服务器的性能瓶颈依次是:网络子系统、磁盘子系统和内存;音频服务对服务器硬件配置要求很低,现在的服务器子系统一般不会成为瓶颈。

内存带宽与容量:更大的内存带宽和容量;

当内存不足时,有点进程会转移到硬盘上去运行,造成性能急剧下降,而且一个缺少内存的系统常常表现出很高的CPU利用率,因为它需要不断的扫描内存,将内存中的页面移到硬盘上。

3.4、负载均衡

2.6终端服务

内存带宽与容量的提升最直接的反应在于应对数据库大量的数据交换。

怀疑内存泄漏时

分类:

终端服务的工作原理是客户机和服务器通过TCP/IP协议和标准的局域网构架联系,执行各种应用程序并把结果传送给用户,所有负载均加在服务器上。系统性能的瓶颈通常依次为:内存、CPU、网络子系统。

磁盘搜索与I/O能力:选择更高的转速、更大的硬盘缓存、组件磁盘阵列(RAID);

【监控指标】:Memory Available MBytes ,ProcessPrivate Bytes和ProcessWorking Set,PhysicalDisk/%Disk Time

1)、DNS轮循

有了以上两方面的了解,我们可以对服务器进行简单的设计,但并不能准确的确定我们实际所需的性能指标。例如:同样是提供WEB服务,但提供静态WEB服务和动态WEB服务的性能要求明显不同,而且同样提供动态WEB服务,随着计算量、访问量的不同,对服务器的要求也有所不同。

磁盘搜索与I/O能力的提升最直接反应在于数据库大量的查询和读写以及文件的读写。

【说明】:

2)代理服务器负载均衡

对于中小企业来说,可能具有其中一项服务或多项服务并存的情况。比如:笔者为一进出口公司进行信息化平台建设时,发现该企业具有多项服务要求:

网络带宽的提升可考虑的因素包括: 更大带宽、多线路接入、独享带宽;

Windows资源监控中,如果ProcessPrivate

3)地址转换网关负载均衡

(1)企业内部业务流程控制服务。

服务器在大负载的情况下,对网络带宽的占用是十分可观的。

Bytes计数器和ProcessWorking Set计数器的值在长时间内持续升高,同时MemoryAvailable

4)NAT负载均衡

(2)企业内文件交换的需要。

策略:硬件设施是应对大负载的基础,硬件设施的投入可根据实际压力和预算量力而行。

bytes计数器的值持续降低,则很可能存在内存泄漏。内存泄漏应该通过一个长时间的,用来研究分析当所有内存都耗尽时,应用程序反应情况的测试来检验。

5)反向代理负载均衡

(3)企业共享Internet的需要。

4、解决之道——部署篇

CPU分析

6)混合型负载均衡

(4)企业邮件服务的需要。

4.1、服务器分离

【监控指标】:

策略:根据硬件投入和业务需求,选择合理的部署方案。

在这种情况下,依靠经验完成服务器性能参数设计就力不从心了,而且对企业内的专用服务器则不能做出正确设计。因此,我们一般使用压力测试,找出服务器各个子系统的瓶颈,并且可以确定服务器所支持的用户数。

4.2、数据库集群和库表散列

System %Processor Time CPU,Processor %Processor Time CPU

部署方案1:

目前压力测试软件种类多,主要有“面向服务器整机的系统性能测试工具”和“针对应用的测试工具”两大类。面向服务器整机的系统性能测试工具可以按照处理器、内存、存储、网络等各个子系统进行专项测试,通过测试结果对不同服务器的同一部分做出横向比较,满足对某些部分性能要求高的服务。如:

4.3、镜像

Processor%user time 和Processor%Privileged Time

适用范围:静态内容为主体的网站和应用系统;对系统安全要求较高的网站和应用系统。

Iometer:存储子系统读写性能测试

4.4、负载均衡

systemProcessor Queue Length

MainServer:主服务器

Sisoft Sandra:WINDOWS下基准评测

分类:

Context Switches/sec 和%Privileged Time

承载程序的主体运行压力,处理网站或应用系统中的动态请求;

Iozone:linux下I/O性能测试

 1)、DNS轮循

【参考值】:

将静态页面推送至多个发布服务器;

Netperf:网络性能测试

2)代理服务器负载均衡 

System%Total processor time不持续超过90%,如果服务器专用于SQL Server,可接受的最大上限是80-85% ,合理使用的范围在60%至70%。

将附件文件推送至文件服务器;

此外,“针对应用的测试工具”可以在负载和压力的情况下,检查服务器是否能够满足预期的设计指标要求。负载测试的目标是测试当负载逐渐增加时,系统组成部分的相应输出项,例如通过量、响应时间、CPU负载、内存使用等如何决定系统的性能。如:

3)地址转换网关负载均衡 

Processor %Processor Time小于75%

安全要求较高,以静态为主的网站,可将服务器置于内网屏蔽外网的访问。

Loadrunner:预测系统行为和性能的负载测试工具

4)NAT负载均衡 

systemProcessor Queue Length值,小于CPU数量的总数 1

DB Server:数据库服务器

Webload:WEB性能压力测试

5)反向代理负载均衡 

CPU瓶颈问题

承载数据库读写压力;

在进出口公司信息化建设的案例中,首先我们对企业服务类型进行简单分析,选择一款双核,1G内存,百兆网卡的服务器,然后使用Loadrunner录制了脚本,模拟了公司最繁忙的时刻(40位员工)使用专用软件的情况。

6)混合型负载均衡

1、System%Total processor time如果该值持续超过90%,且伴随处理器阻塞,则说明整个系统面临着处理器方面的瓶颈.

只与主服务器进行数据量交换,屏蔽外网访问。

结果发现,专用软件对双核的支持并不好,多种服务并不能自动分配CPU,导致双核CPU其中一核使用率为100%,而另一核闲置;同时发现服务器当用户超过20人时,内存与磁盘交换文件频繁,严重影响服务器效率,而且在提供文件服务的时刻,由于磁盘访问速度的问题、服务器提供的专用服务有了明显的延迟。根据发现的问题,我们对服务器进行了从新设计,采用了虚拟化技术,将数据库服务、重要服务与次要服务分离,同时分别配置不同的CPU及内存和网络资源,在保证重要服务的基础上,满足其它服务。

策略:根据硬件投入和业务需求,选择合理的部署方案。

注:在某些多CPU系统中,该数据虽然本身并不大,但CPU之间的负载状况极不均衡,此时也应该视作系统产生了处理器方面的瓶颈.

File/VideoServer:文件/视频服务器

根据测试结果,同时考虑到今后业务发展的需求,可以为其配置双核双处理器、2G内存、百兆网卡的服务器。经过一年多的实践检验,该服务器系统运行情况良好,能够满足用户对性能的要求。

部署方案1:

2、排除内存因素,如果Processor

承载系统中占用系统资源和带宽资源较大的数据流;

当然,要选择一个优秀的服务器,往往还有其它参数需要注意,如服务器所采用的操作系统、资源的规划与分配等,但服务器的主要性能参数的设计,是中小企业服务器性能设计中最基本、最重要的因素。

适用范围:静态内容为主体的网站和应用系统;对系统安全要求较高的网站和应用系统。

%Processor Time计数器的值比较大,而同时网卡和硬盘的值比较低,那么可以确定CPU

作为大附件的存储和读写仓库;

...

Main Server:主服务器

瓶颈。(内存不足时,有点进程会转移到硬盘上去运行,造成性能急剧下降,而且一个缺少内存的系统常常表现出很高的CPU利用率,因为它需要不断的扫描内存,将内存中的页面移到硬盘上。)

作为视频服务器将具备视频自动处理能力。

承载程序的主体运行压力,处理网站或应用系统中的动态请求;

造成高CPU使用率的原因:

发布服务器组:

将静态页面推送至多个发布服务器;

频繁执行程序,复杂运算操作,消耗CPU严重

只负责静态页面的发布,承载绝大多数的Web请求;

将附件文件推送至文件服务器;

数据库查询语句复杂,大量的 where 子句,order by, group by 排序等,CPU容易出现瓶颈

通过Nginx进行负载均衡部署。

安全要求较高,以静态为主的网站,可将服务器置于内网屏蔽外网的访问。

内存不足,IO磁盘问题使得CPU的开销增加

部署方案2:

DB Server:数据库服务器

磁盘I/O分析

适用范围:以动态交互内容为主体的网站或应用系统;负载压力较大,且预算比较充足的网站或应用系统;

承载数据库读写压力;

【监控指标】:PhysicalDisk/%Disk time,PhysicalDisk/%Idle Time,Physical Disk Avg.Disk Queue Length, Disk sec/Transfer

Web服务器组:

只与主服务器进行数据量交换,屏蔽外网访问。

【参考值】:%Disk Time建议阈值90%

Web服务无主从关系,属平行冗余设计;

File/Video Server:文件/视频服务器

Windows资源监控中,如果% Disk Time和Avg.Disk Queue Length的值很高,而Page Reads/sec页面读取操作速率很低,则可能存在磁盘瓶径。

澳门新浦京娱乐场网站domino服务器品质优化,中型Mini集团服务器质量设计。通过前端负载均衡设备或Nginx反向代理实现负载均衡;

承载系统中占用系统资源和带宽资源较大的数据流;

Processor%Privileged

划分专用文件服务器/视频服务器有效分离轻/重总线;

作为大附件的存储和读写仓库;

Time该参数值一直很高,且如果在 Physical Disk 计数器中,只有%Disk time

每台Web服务器可通过DEC可实现连接所有数据库,同时划分主从。

作为视频服务器将具备视频自动处理能力。

比较大,其他值都比较适中,硬盘可能会是瓶颈。若几个值都比较大, 那么硬盘不是瓶颈。若数值持续超过80%,则可能是内存泄露。如果 Physical

数据库服务器组:

发布服务器组:

Disk 计数器的值很高时该计数器的值(Processor%Privileged Time)也一直很高,

澳门新浦京娱乐场网站domino服务器品质优化,中型Mini集团服务器质量设计。相对均衡的承载数据库读写压力;

只负责静态页面的发布,承载绝大多数的Web请求;

则考虑使用速度更快或效率更高的磁盘子系统。

通过数据库物理文件的映射实现多数据库的数据同步。

通过Nginx进行负载均衡部署。

Disk sec/Transfer 一般来说,该数值小于15ms为最好,介于15-30ms之间为良好,30-60ms之间为可以接受,超过60ms则需要考虑更换硬盘或是硬盘的RAID方式了.

共享磁盘/磁盘阵列

部署方案2:

Average Transaciton Response Time(事务平均响应时间)随着测试时间的变化,系统处理事务的速度开始逐渐变慢,这说明应用系统随着投产时间的变化,整体性能将会有下降的趋势

将用于数据物理文件的统一读写

适用范围:以动态交互内容为主体的网站或应用系统;负载压力较大,且预算比较充足的网站或应用系统;

Transactions per Second(每秒通过事务数/TPS)当压力加大时,点击率/TPS曲线如果变化缓慢或者有平坦的趋势,很有可能是服务器开始出现瓶颈

用于大型附件的存储仓库

Web服务器组:

Hits per Second(每秒点击次数)通过对查看“每秒点击次数”,可以判断系统是否稳定。系统点击率下降通常表明服务器的响应速度在变慢,需进一步分析,发现系统瓶颈所在。

通过自身物理磁盘的均衡和冗余,确保整体系统的IO效率和数据安全;

Web服务无主从关系,属平行冗余设计;

Throughput(吞吐率)可以依据服务器的吞吐量来评估虚拟用户产生的负载量,以及看出服务器在流量方面的处理能力以及是否存在瓶颈。

方案特性:

通过前端负载均衡设备或Nginx反向代理实现负载均衡;

Connections(连接数)当连接数到达稳定状态而事务响应时间迅速增大时,添加连接可以使性能得到极大提高(事务响应时间将降低)

通过前端负载均衡,合理分配Web压力;

划分专用文件服务器/视频服务器有效分离轻/重总线;

Time to First Buffer Breakdown(Over Time)(第一次缓冲时间细分(随时间变化))可以使用该图确定场景或会话步骤运行期间服务器或网络出现问题的时间。

通过文件/视频服务器与常规Web服务器的分离,合理分配轻重数据流;

每台Web服务器可通过DEC可实现连接所有数据库,同时划分主从。

碰到过的性能问题:

通过数据库服务器组,合理分配数据库IO压力;

数据库服务器组:

1. 在高并发的情况下,产生的处理失败(比如:数据库连接池过低,服务器连接数超过上限,数据库锁控制考虑不足等)

每台Web服务器通常只连接一台数据库服务器,通过DEC的心跳检测,可在极短时间内自动切换至冗余数据库服务器;

相对均衡的承载数据库读写压力;

  1. 内存泄露(比如:在长时间运行下,内存没有正常释放,发生宕机等)

  2. CPU使用偏离(比如:高并发导致CPU使用率过高)

  3. 日志打印过多,服务器无硬盘空间

磁盘阵列的引入,大幅提升系统IO效率的同时,极大增强了数据安全性。

通过数据库物理文件的映射实现多数据库的数据同步。

如何定位这些性能问题:

四、解决之道——环境篇

共享磁盘/磁盘阵列

1. 查看系统日志,日志是定位问题的不二法宝,如果日志记录的全面,很容易通过日志发现问题。

41、操作系统

将用于数据物理文件的统一读写

比如,系统宕机时,系统日志打印了某方法执行时抛出out of memory的错误,我们就可以顺藤摸瓜,很快定位到导致内存溢出的问题在哪里。

操作系统的选择,关注点在于

用于大型附件的存储仓库

2. 利用性能监控工具,比如:JAVA开发B/S结构的项目,可以通过JDK自带的Jconsole,或者JProfiler,来监控服务器性能,Jconsole可以远程监控服务器的CPU,内存,线程等状态,并绘制变化曲线图。

•是否适应于搭建SiteEngine所需要的环境程序?

通过自身物理磁盘的均衡和冗余,确保整体系统的IO效率和数据安全;

利用Spotlight可以监控数据库使用情况。

•系统本身占用的资源比;

方案特性:

我们需要关注的性能点有:CPU负载,内存使用率,网络I/O等

•系统安全性;

通过前端负载均衡,合理分配Web压力;

  1. 工具和日志只是手段,除此之外,还需要设计合理的性能测试场景

•系统是否易于操作?

通过文件/视频服务器与常规Web服务器的分离,合理分配轻重数据流;

具体场景有:性能测试,负载测试,压力测试,稳定性测试,浪涌测试等

策略:我们选择FreeBSD,而且是最小化安装以后的FreeBSD。

通过数据库服务器组,合理分配数据库IO压力;

好的测试场景,能更加快速的发现瓶颈,定位瓶颈

4.2、Web服务器

每台Web服务器通常只连接一台数据库服务器,通过DEC的心跳检测,可在极短时间内自动切换至冗余数据库服务器;

  1. 了解系统参数配置,可以进行后期的性能调优

Web服务器很大一部分资源占用来自于处理Web请求,通常情况下这也就是Apache产生的压力,Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上。

磁盘阵列的引入,大幅提升系统IO效率的同时,极大增强了数据安全性。

除此以外,还想说个题外话,就是关于性能测试工具的使用问题

在高并发连接的情况下,Nginx是Apache服务器不错的替代品。Nginx (“engine x”) 是俄罗斯人编写的一款高性能的 HTTP 和反向代理服务器。在国内,已经有新浪、搜狐通行证、网易新闻、网易博客、金山逍遥网、金山爱词霸、校内网、YUPOO相册、豆瓣、迅雷看看等多家网站、 频道使用 Nginx 服务器。

5、解决之道——环境篇

在刚开始用Loadrunner和JMeter的时候,做高并发测试时,都出现过没有把服务器压垮,这两个程序自己先倒下的情况。

Nginx的优势:

5.1、操作系统

如果遇到这个问题,可以通过远程调用多个客户端的服务,分散性能测试工具客户端的压力来解决。

高并发连接:官方测试能够支撑5万并发连接,在实际生产环境中跑到2~3万并发连接数。

操作系统的选择,关注点在于

说这个的目的是想说,做性能测试的时候,我们一定要确保瓶颈不要发生在我们自己的测试脚本和测试工具上。

内存消耗少:在3万并发连接下,开启的10个Nginx 进程才消耗150M内存(15M*10=150M)。

•是否适应于搭建SiteEngine所需要的环境程序?
•系统本身占用的资源比;
•系统安全性;
•系统是否易于操作?
策略:我们选择FreeBSD,而且是最小化安装以后的FreeBSD。

原网址:

内置的健康检查功能:如果 Nginx Proxy 后端的某台 Web 服务器宕机了,不会影响前端访问。

5.2、Web服务器

策略:相对于老牌的Apache,我们选择Lighttpd和Nginx这些具有更小的资源占用率和更高的负载能力的web服务器。

Web服务器很大一部分资源占用来自于处理Web请求,通常情况下这也就是Apache产生的压力,Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上。

4.3、Mysql

在高并发连接的情况下,Nginx是Apache服务器不错的替代品。Nginx (“engine x”) 是俄罗斯人编写的一款高性能的 HTTP 和反向代理服务器。在国内,已经有新浪、搜狐通行证、网易新闻、网易博客、金山逍遥网、金山爱词霸、校内网、YUPOO相册、豆瓣、迅雷看看等多家网站、频道使用 Nginx 服务器。

MySQL本身具备了很强的负载能力,MySQL优化是一项很复杂的工作,因为这最终需要对系统优化的很好理解。数据库工作就是大量的、短时的查询 和读写,除了程序开发时需要注意建立索引、提高查询效率等软件开发技巧之外,从硬件设施的角度影响MySQL执行效率最主要来自于磁盘搜索、磁盘IO水 平、CPU周期、内存带宽。

Nginx的优势:

根据服务器上的硬件和软件条件进行MySQl优化。MySQL优化的核心在于系统资源的分配,这不等于无限制的给MySQL分配更多的资源。

高并发连接:官方测试能够支撑5万并发连接,在实际生产环境中跑到2~3万并发连接数。

在MySQL配置文件中最值得关注的参数:

内存消耗少:在3万并发连接下,开启的10个Nginx 进程才消耗150M内存(15M*10=150M)。

l         改变索引缓冲区长度(key_buffer)

内置的健康检查功能:如果 Nginx Proxy 后端的某台 Web 服务器宕机了,不会影响前端访问。

l         改变表长(read_buffer_size)

策略:相对于老牌的Apache,我们选择Lighttpd和Nginx这些具有更小的资源占用率和更高的负载能力的web服务器。

l         设定打开表的数目的最大值(table_cache)

5.3、Mysql

l         对缓长查询设定一个时间限制(long_query_time)

MySQL本身具备了很强的负载能力,MySQL优化是一项很复杂的工作,因为这最终需要对系统优化的很好理解。大家都知道数据库工作就是大量的、短时的查询和读写,除了程序开发时需要注意建立索引、提高查询效率等软件开发技巧之外,从硬件设施的角度影响MySQL执行效率最主要来自于磁盘搜索、磁盘IO水平、CPU周期、内存带宽。

如果条件允许 ,一般MySQL服务器安装在Linux操作系统中,而不是安装在FreeBSD中。

  根据服务器上的硬件和软件条件进行MySQl优化。MySQL优化的核心在于系统资源的分配,这不等于无限制的给MySQL分配更多的资源。在MySQL配置文件中我们介绍几个最值得关注的参数:

策略: MySQL优化需要根据业务系统的数据库读写特性和服务器硬件配置,制定不同的优化方案,并且可以根据需要部署MySQL的主从结构。

改变索引缓冲区长度(key_buffer)

4.4、PHP

改变表长(read_buffer_size)

1、加载尽可能少的模块;

设定打开表的数目的最大值(table_cache)

2、安装加速器(都是通过缓存php代码预编译的结果和数据库结果来提高php代码的执行速度)

对缓长查询设定一个时间限制(long_query_time)

eAccelerator

如果条件允许 ,一般MySQL服务器最好安装在Linux操作系统中,而不是安装在FreeBSD中。

eAccelerator是一个自由开放源码php加速器,优化和动态内容缓存,提高了性能php脚本的缓存性能,使得PHP脚本在编译的状态下,对服务器的开销几乎完全消除。

策略: MySQL优化需要根据业务系统的数据库读写特性和服务器硬件配置,制定不同的优化方案,并且可以根据需要部署MySQL的主从结构。

Apc

5.4、PHP

Alternative PHP Cache(APC)是 PHP 的一个免费公开的优化代码缓存。它用来提供免费,公开并且强健的架构来缓存和优化 PHP 的中间代码。

1、加载尽可能少的模块;

memcache

2、如果是在windows平台下,尽可能使用IIS或者Nginx来替代我们平常用的Apache;

memcache是由Danga Interactive开发的,高性能的,分布式的内存对象缓存系统,用于在动态应用中减少数据库负载,提升访问速度。主要机制是通过在内存里维护一个统 一的巨大的hash表,Memcache能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等

3、安装加速器(都是通过缓存php代码预编译的结果和数据库结果来提高php代码的执行速度)

策略: 为PHP安装加速器。

eAccelerator

4.5、代理服务器(缓存服务器)

eAccelerator是一个自由开放源码php加速器,优化和动态内容缓存,提高了性能php脚本的缓存性能,使得PHP脚本在编译的状态下,对服务器的开销几乎完全消除。

Squid Cache(简称为Squid)是一个流行的自由软件(GNU通用公共许可证)的代理服务器和Web缓存服务器。Squid有广泛的用途,从作为网页服务 器的前置cache服务器缓存相关请求来提高Web服务器的速度,到为一组人共享网络资源而缓存万维网,域名系统和其他网络搜索,到通过过滤流量帮助网络 安全,到局域网通过代理上网。Squid主要设计用于在Unix一类系统运行。

Apc

策略:安装Squid 反向代理服务器,能够大幅度提高服务器效率。

Alternative PHP Cache(APC)是 PHP 的一个免费公开的优化代码缓存。它用来提供免费,公开并且强健的架构来缓存和优化 PHP 的中间代码。

5、解决之道——SiteEngine篇

memcache

SiteEngine(网站引擎)是指针对应用系统程序的架构设计的一套程序化语言框架。目前最主流的是基于多层架构,分级处理,模块化设计的框架,支持mvc动态页面展示,核心程序分层处理,增加静态化引擎,借助ajax 异步高效处理请求。

memcache是由Danga Interactive开发的,高性能的,分布式的内存对象缓存系统,用于在动态应用中减少数据库负载,提升访问速度。主要机制是通过在内存里维护一个统一的巨大的hash表,Memcache能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等

6、解决之道——测试篇

Xcache

6.1、测试方法

国人开发的缓存器,

6.2、测试用例

策略: 为PHP安装加速器。

6.3、压力测试

5.5、代理服务器(缓存服务器)

压力测试是一种基本的质量保证行为,它是每个重要软件测试工作的一部分。压力测试的基本思路很简单:不是在常规条件下运行手动或自动测试,而是在计 算机数量较少或系统资源匮乏的条件下运行测试。通常要进行压力测试的资源包括内部内存、CPU 可用性、磁盘空间和网络带宽等。一般用并发来做压力测试。

Squid Cache(简称为Squid)是一个流行的自由软件(GNU通用公共许可证)的代理服务器和Web缓存服务器。Squid有广泛的用途,从作为网页服务器的前置cache服务器缓存相关请求来提高Web服务器的速度,到为一组人共享网络资源而缓存万维网,域名系统和其他网络搜索,到通过过滤流量帮助网络安全,到局域网通过代理上网。Squid主要设计用于在Unix一类系统运行。

压力测试工具:webbench,ApacheBench等

策略:安装Squid 反向代理服务器,能够大幅度提高服务器效率。

6.4、漏洞测试

6、解决之道——SiteEngine篇

在我们的系统中漏洞主要包括:sql注入漏洞,xss跨站脚本攻击等。安全方面还包括系统软件,如操作系统漏洞,mysql、apache等的漏洞,一般可以通过升级来解决。

7、解决之道——测试篇

7.1、测试方法

7.2、测试用例

7.3、压力测试

压力测试是一种基本的质量保证行为,它是每个重要软件测试工作的一部分。压力测试的基本思路很简单:不是在常规条件下运行手动或自动测试,而是在计算机数量较少或系统资源匮乏的条件下运行测试。通常要进行压力测试的资源包括内部内存、CPU 可用性、磁盘空间和网络带宽等。一般用并发来做压力测试。

压力测试工具:webbench,ApacheBench等

7.4、漏洞测试

在我们的系统中漏洞主要包括:sql注入漏洞,xss跨站脚本攻击等。安全方面还包括系统软件,如操作系统漏洞,mysql、apache等的漏洞,一般可以通过升级来解决。

漏洞测试工具:Acunetix Web Vulnerability Scanner

本文由澳门新浦京娱乐场网站发布于服务器,转载请注明出处:澳门新浦京娱乐场网站domino服务器品质优化,中