sysctl.conf tcp优化

/etc/sysctl.conf

fs.file-max = 10240000
kernel.pid_max = 132768

net.core.netdev_max_backlog =  32768
net.core.rmem_default = 8388608
net.core.rmem_max = 16777216
net.core.somaxconn = 32768
net.core.wmem_default = 8388608
net.core.wmem_max = 16777216
net.ipv4.conf.default.rp_filter = 1
net.ipv4.ip_forward = 0
net.ipv4.ip_local_port_range = 1024 65535
net.ipv4.netfilter.ip_conntrack_max = 2500000
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_keepalive_time = 300
net.ipv4.tcp_max_orphans = 3276800
net.ipv4.tcp_max_syn_backlog = 65536
net.ipv4.tcp_max_tw_buckets = 555000
#net.ipv4.tcp_mem = 94500000 915000000 927000000
net.ipv4.tcp_mem = 786432 1048576 1572864
net.ipv4.tcp_rmem = 4096 87380 16777216
net.ipv4.tcp_synack_retries = 2
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_syn_retries = 2
net.ipv4.tcp_timestamps = 0
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_wmem = 4096 65536 16777216
net.nf_conntrack_max = 655360


修改完成后运行以下命令使参数生效:
/sbin/sysctl -p


ulimit -c unlimited
ulimit -l unlimited
ulimit -n 65000
ulimit -SHn 204800

vm.min_free_kbytes = 65536
vm.swappiness =0








  802  cat /etc/sysctl.conf
  803  cat /etc/security/limits.conf
  804  cat /etc/security/limits.d/90-nproc.conf

* soft nproc 3311000
* hard nproc 3311000
* soft nofile 900000
* hard nofile 900000


*          soft    nproc     3001024
root       soft    nproc     unlimited









131 编码 export LANG=”zh_CN.UTF-8”
201 207配置 export LANG=”zh_CN.UTF-8” 影响java时间格式

131:yum install ImageMagick

501组有磁盘柜的读写权限 修改/etc/passwd 用户必须在组501 ,2 修改umask 0002 /etc/profile ~.bashrc

虚拟机模板调整:

image install,lvm,base server, ip dns, nscd ntp,screen lrzsz ;net tunning; rm openjavajdk; git telnet nmap nc
java 1.7   tomcat 7安装目录;  

磁盘柜 uaser grou unmask 002 501   ; zabbix agent ;LANG="zh_CN.UTF-8", yum install autoconf automake gcc make libtool  ImageMagick; fstab 231nfs;iptables-zabbixagent;

机器名设置hosts解析用于jmx,nagios 客户端安装

iftop,iptraf,ntop,

最大文件数设置生效 /etc/security/limits.conf
  802  cat /etc/sysctl.conf
  803  cat /etc/security/limits.conf
  804  cat /etc/security/limits.d/90-nproc.conf
v7 history bash syslog

通过zabbix监控tomcat需要进行如下设置

修改tomcat bin目录下的catalina.sh
在文件开头的注释后面实际脚本代码前面添加如下变量,如果此变量已有则修改此变量
JAVA_OPTS="$JAVA_OPTS   -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.port=12345 -Dcom.sun.management.jmxremote "
.port=12345 这个参数每个jvm的配置都不能相同,配置前可以通过netstat -nltp 看看已经有的端口
建议这个端口设置采用  12345 12346 逐渐递增的设置。

修改后确认本机防火墙开启这个端口

jmx  hostname -i 确认机器名!! 如果修改hosts后重启tomcat


cat /etc/hosts; echo  `ip add list|grep 192|awk '{print $2}'|awk -F/ '{print $1}'`  `hostname`  >> /etc/hosts ; echo ; read  ;cat /etc/hosts; echo ; hostname -i

windows配置:
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Apache Software Foundation\Procrun 2.0\tomcat7.2\Parameters\Java]
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.port=12345
-Dcom.sun.management.jmxremote


现在需要调整的指标,修改监控item的信息以便能收集到指标信息:
线程、请求数、connectionCount
每个jmx添加后调整线程的监控!线程名一般都需要修改才行!


nginx 调整

tengine
前端nginx使用tengine的concat功能,
http 后端check功能

nginx1.4
websocke功能
使用最新的tengine,包含websocke功能。如下命令包含concat模块
./configure  --prefix=/usr/local/tengine    --with-http_concat_module




系统线程数调优比较全面分析的文章
http://jackyhongvip.iteye.com/blog/1339768


影响Java线程数量的因素:

Java虚拟机本身:-Xms,-Xmx,-Xss;

系统限制:

/proc/sys/kernel/pid_max,

/proc/sys/kernel/thread-max,

max_user_process(ulimit -u),

/proc/sys/vm/max_map_count。
















http://blog.csdn.net/lastsweetop/article/details/6400328
http://space.itpub.net/8183550/viewspace-688333
http://www.cnblogs.com/fczjuever/archive/2013/04/17/3026694.html
http://linux.die.net/man/5/proc

猜你喜欢

转载自zdx3578.iteye.com/blog/1979477