服务器相关,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%';