博客已迁移,请看签名

新博客:http://www.51it.wang

服务器相关,Tomcat,Oracle,Mysql调优

一、服务器相关配置优化

1. 修改文件最大句柄数(注:若是oracle服务器不需要优化此项)

原理:linux默认最大文件句柄数是1024个。在文件并发量比较大的情况下,这个数就不够用了,所以需要修改最大文件句柄数。

2. 查看下系统的句柄是多少,用ulimit -a 命令查看,默认是1024,如下图:


3.修改最大句柄数,vi /etc/security/limits.conf 文件添加以下内容,如下图:

*        soft    noproc 65535

*        hard    noproc 65535

*        soft    nofile 65535

*        hard    nofile 65535

4.若是centos6.*还需要修改用户进程数为4096,vi /etc/security/limits.d/90-nproc.conf修改为以下内容,如下图:

5.最后注销用户,再登录使用ulimit –a验证是否生效:


二、Tomcat优化

1.以java1.8为例,查看java版本命令:java –version


2.优化Tomcat启动JVM参数,配置文件tomcat/bin/catalina.sh,添加以下内容(可根据硬件情况修改)

JAVA_OPTS="-server -Xms4096m -Xmx4096m-XX:MetaspaceSize=256M -XX:MaxNewSize=256m -XX:MaxMetaspaceSize=512m"

注:Xms和Xmx最好一样大,为物理内存的1/4,现场一般是16G,所以建议为4096m,我个人推荐的配置如上。


3.Tomcat线程数优化,修改配置文件tomcat/conf/server.xml(大约在69行),加入以下内容:

<Connector connectionTimeout="200000"port="8080" URIEncoding="utf-8"protocol="HTTP/1.1" redirectPort="8443" useBodyEncodingForURI="true"

compression="on" compressionMinSize="2048"maxThreads="700" minSpareThreads="100" maxSpareThreads="500"  acceptCount="700"  

enableLookups="false"compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain,text/json"

useURIValidationHack="false"/> 



三、Oracle优化

1.修改密码永不过期,默认oracle密码180天过期,SQL查看命令:

Select *from dba_profiles s where s.profile='DEFAULT' andresource_name='PASSWORD_LIFE_TIME';


2.设置密码永不过期执行命令:

ALTER PROFILE DEFAULT LIMITPASSWORD_LIFE_TIME UNLIMITED;

修改之后不需要重启动数据库,会立即生效,已经过期的用户修改密码后即永不过期了。

3.验证,执行步骤1,Limit 为UNLIMITED即成功。


4.修改oracle最大连接数和最大进程数:

查看当前最大进程数命令:

show parameter processes;

查看当前最大会话数命令:

show parameter sessions;

5.更改最大进程数processes=500, 最大会话数sessions=1000(根据实际情况可自行增减)

执行更改最大进程数命令:alter systemset processes=500 scope=spfile;

执行更改最大会话数命令:alter systemset sessions=1000 scope=spfile;

注:修改完后需要重启oracle服务器才能生效。

6.验证,执行步骤4命令。



四、Mysql优化

1.修改或添加/mysql/my.cnf参数:

lower_case_table_names=1

#设置不区分大小写

max_connect_errors=6000

#max_connect_errors是一个MySQL中与安全有关的计数器值,它负责阻止过多尝试失败的客户端以防止暴力破解密码的情况

max_connections=1024

#修改最大连接数为1024

query_cache_limit= 2M

#指定单个查询能够使用的缓冲区大小,默认为1M

综上添加或修改到my.cnf,重启mysql生效,其他默认即可:

lower_case_table_names=1

max_connect_errors=6000

max_connections=1024

query_cache_limit = 2M


验证:

命令:show VARIABLES like '%参数%';

如查看最大连接数:show VARIABLES like'%max_connect_errors%';





上一篇 下一篇
评论
©博客已迁移,请看签名 | Powered by LOFTER