Web开发

注册

 

发新话题 回复该主题

web应用性能优化技术方案 [复制链接]

1#

linux操作系统优化

系统优化除了CPU、网络、磁盘IO,内存等硬件支撑外,内核参数优化尤为重要,Linux服务器内核参数优化(适合Apache、Nginx、Squid等多种web应用,特殊的业务有可能需要做略微调整),主要是指在Linux系统中针对业务服务应用而进行的系统内核参数调整,优化并无一定的标准。下面是生产环境下Linux常见的内核优化为例子进行说明,供大家参考。

vi/etc/sysctl.conf//编辑配置文件

sysctl–p//使配置生效

3.2Web中间件优化

3.2.1Nginx优化

一般来说nginx配置文件中对优化比较有作用的为以下几项:

1.worker_processes8;

nginx进程数,建议按照cpu数目来指定,一般为它的倍数(如,2个四核的cpu计为8)。

2.worker_rlimit_nofile;

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

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

3.useepoll;

使用epoll的I/O模型

4.worker_connections;

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

5.keepalive_timeout60;

keepalive超时时间。

6.client_header_buffer_size4k;

客户端请求头部的缓冲区大小,这个可以根据你的系统分页大小来设置,一般一个请求头的大小不会超过1k,不过由于一般系统分页都要大于1k,所以这里设置为分页大小。

7.open_file_cachemax=inactive=60s;

这个将为打开文件指定缓存,默认是没有启用的,max指定缓存数量,建议和打开文件数一致,inactive是指经过多长时间文件没被请求后删除缓存。

8.open_file_cache_valid80s;

这个是指多长时间检查一次缓存的有效信息。

9.open_file_cache_min_uses1;

open_file_cache指令中的inactive参数时间内文件的最少使用次数,如果超过这个数字,文件描述符一直是在缓存中打开的,如上例,如果有一个文件在inactive时间内一次没被使用,它将被移除。

3.2.1.1优化实例

3.2.2tomcat优化

1、修改内存等JVM相关配置

参数说明:

错误提示:java.lang.OutOfMemoryError:Javaheapspace

Tomcat默认可以使用的内存为MB,在较大型的应用项目中,这点内存是不够的,有可能导致系统无法运行。常见的问题是报Tomcat内存溢出错误,OutofMemory(系统内存不足)的异常,从而导致客户端显示错误,一般调整Tomcat的-Xms和-Xmx即可解决问题,通常将-Xms和-Xmx设置成一样,堆的最大值设置为物理可用内存的最大值的80%。

setJAVA_OPTS=-Xmsm-Xmxm

错误提示:java.lang.OutOfMemoryErrorermGenspace

PermGenspace的全称是PermanentGenerationspace,是指内存的永久保存区域,这块内存主要是被JVM存放Class和Meta信息的,Class在被Loader时就会被放到PermGenspace中,它和存放类实例(Instance)的Heap区域不同,GC(GarbageCollection)不会在主程序运行期对PermGenspace进行清理,所以如果你的应用中有很CLASS的话,就很可能出现PermGenspace错误,这种错误常见在web服务器对JSP进行pre

分享 转发
TOP
发新话题 回复该主题