网站Web服务器测试及优化参考(3)

3. 优化
优化需要借助监控工具,返回系统的状态找到系统的瓶颈,然后修改参数

3.1操作系统的优化
这里的操作系统优化主要是针对Linux,我们可以借助Spotlight on Unix这款工具监控操作系统

Spotlight可以给管理员提供一个直观的图形化界面,系统的瓶颈一目了然

监控时,先要向对应的目标服务器建立一个连接,Spotlight默认禁用了root帐号连接Linux,所以需要事先在系统中添加一个用户

网站Web服务器测试及优化参考

 

网站Web服务器测试及优化参考

如果系统中出现瓶颈,Spotlight会自动报警, 出现了警告信息后,请自行到网上搜索解决办法

操作系统的主要瓶颈通常在于应用程序允许打开的文件数,如果出现Too many open files错误,请

修改/etc/security/limits.conf

在文件最末尾添加* - nofile 965355

设置系统允许打开的文件数量,注意,这个数值不能超过100w,否则系统无法登陆

3.2Oracle数据库的优化
我们可以借助Spotlight on Oracle工具监控数据库

Oracle监控与Spotlight on Unix类似

Oracle的优化中涉及到两个关键参数processes以及sessions

分别表示Oracle的进程数和会话数,sessions=processes*1.1+1

如果是Oracle出现了瓶颈,则修改processes

注意,同样这个数值也不要轻易改变,数值是Oracle根据服务器的性能调整的结果,如果设置过大,会导致系统不稳定

3.3Web服务器软件的优化
这里的Web服务器软件主要是针对Nginx,我们可以根据LoadRunner压力测试得出的结果,以及Nginx自身产生的日志信息,来调整Nginx参数

worker_processes 8;

nginx进程数,建议按照cpu数目来指定,一般为它的倍数。

worker_cpu_affinity 00000001 00000010 00000100 00001000 00010000 00100000

01000000 10000000;

为每个进程分配 cpu,上例中将 8 个进程分配到 8 个 cpu,当然可以写多个,或者将一

个进程分配到多个cpu。

worker_rlimit_nofile 102400;

这个指令是指当一个nginx进程打开的最多文件描述符数目,理论值应该是最多打开文

件数 (ulimit -n) 与 nginx进程数相除, 但是nginx分配请求并不是那么均匀, 所以最好与ulimit

-n的值保持一致。

use epoll;

使用epoll的 I/O模型。

worker_connections 102400;

每个进程允许的最多连接数,理论上每台 nginx 服务器的最大连接数为

worker_processes*worker_connections。

keepalive_timeout 60;

keepalive超时时间。

总结
1. Web服务器的性能调整是一个综合指标,不可能当作某个程序上的bug来处理,服务器的整体性能牵涉到服务器上的各种软硬件环境;

2. Linux环境下,各种配置参数配置完,一定要对比验证一下配置是否生效了,只有使用排除法才能避免问题的复杂化;

3. 有J2EE应用的网站,在大并发情况下,数据库是一个很大的瓶颈,需要特别注意;

4. 前端Web服务器的日志输出也是很重要的环节,在大并发下,一定要去掉日志输出,防止对性能的影响;

5. 测试环境很重要,能够在第一时间给出数据,与生产环境做出比较,就能判断错误的方向。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wyzwyd.html