海运的博客

Linux服务器内核网络参数优化

发布时间:November 8, 2012 // 分类:系统调优 // No Comments

由于TCP协议缺陷被恶意利用Syn-Flood攻击,Linux内核调整这些参数可缓解这类攻击:

net.ipv4.tcp_syncookies = 1
#启用syncookies
net.ipv4.tcp_max_syn_backlog = 8192
#SYN队列长度
net.ipv4.tcp_synack_retries=2
#SYN ACK重试次数

Linux服务器作为网关或代理时TIME-WAIT较多,可通过以下参数优化调整:

net.ipv4.tcp_fin_timeout = 30
#主动关闭方FIN-WAIT-2超时时间
net.ipv4.tcp_keepalive_time = 1200
#TCP发送keepalive消息的频度
net.ipv4.tcp_tw_reuse = 1
#开启TIME-WAIT重用
net.ipv4.tcp_tw_recycle = 1
#开启TIME-WAIT快速回收
net.ipv4.ip_local_port_range = 1024 65000
#向外连接的端口范围
net.ipv4.tcp_max_tw_buckets = 5000
#最大TIME-WAIT数量,超过立即清除
net.ipv4.tcp_syn_retries = 2
#SYN重试次数

其它一些参数优化:

net.ipv4.tcp_rmem = 4096 87380 4194304
#TCP接收缓冲大小,对应最小、默认、最大
net.ipv4.tcp_wmem = 4096 16384 4194304
#TCP发送缓冲大小,对应最小、默认、最大
net.core.rmem_max = 16777216
#最大发送套接字缓冲区大小
net.core.wmem_max = 16777216
#最大接收套接字缓冲区大小
net.core.netdev_max_backlog = 262144
#当网络接口接收速率比内核处理快时允许发到队列的数据包数目
net.core.somaxconn = 262144
#最大连接队列,超过导致连接超时或重传

Linux禁止atime提高IO性能

发布时间:July 17, 2012 // 分类:系统调优 // No Comments

Linux服务器当访问文件或目录的时候会同步更新atime,如果服务器业务较大会给磁盘带来很大的负担,可以修改挂载参数不写入访问时间。

cat /etc/fstab
/dev/VolGroup00/LogVol00 /                       ext3    defaults,noatime,nodiratime        1 1

重新挂载磁盘分区:

mount -o remount /

查看当前挂载参数:

 mount
/dev/mapper/VolGroup00-LogVol00 on / type ext3 (rw,noatime,nodiratime)

Linux/Centos下多种方法查看系统block size大小

发布时间:June 24, 2012 // 分类:系统调优 // No Comments

1.用tune2fs查看block size大小:

tune2fs -l /dev/sda1 |grep "Block size"
Block size:               1024

2.用stat查看block size大小:

stat /boot/|grep "IO Block"
Size: 1024          Blocks: 2          IO Block: 1024   目录

3.用dumpe2fs查看block size大小:

dumpe2fs /dev/sda1 |grep "Block size"
Block size:               1024

Linux下Web服务器压力测试工具

发布时间:May 12, 2012 // 分类:系统调优 // No Comments

1.Webbench,安装:

wget http://home.tiscali.cz/~cz210552/distfiles/webbench-1.5.tar.gz
tar zxvf webbench-1.5.tar.gz 
cd webbench-1.5/
make && make install

常用参数:

-t 测试时间
-c 并发连接数

应用举例:

webbench -c 1000 -t 300 http://www.haiyun.me/
#模拟1000并发数,测试时间300秒。

2.Http_load,安装:

cd /usr/local/src/
http://www.acme.com/software/http_load/http_load-12mar2006.tar.gz
tar zxvf http_load-12mar2006.tar.gz 
cd http_load-12mar2006/
make && make install

常用参数:

-p 并发访问进程数
-f 总的访问次数
-r 每秒的访问频率
-s 总的访问时间

应用示例:

http_load -p 100 -f 1000 url.txt #总访问1000次,并发100。
http_load -r 100 -s 300 url.txt #持续300秒,每秒100次访问。

3.Siege,安装:

wget http://www.joedog.org/pub/siege/siege-latest.tar.gz
tar zxvf siege-latest.tar.gz 
cd siege-2.72/
./configure 
make 
make install
siege.config 

常用参数:

-i 多个url,随机访问
-c 并发用户数
-r 重复次数
-t 测试时间
-l 输出测试日志

应用示例:

siege -c 200 -t 10  http://www.haiyun.me
#并发数200,持续时间10秒。

4.ab,apache自带的一款功能强大的测试工具,debian下单独安装:

apt-get install apache2-utils

常用参数:

-n 请求总次数
-c 并发请求数,不能大于-n

应用示例:

ab -c 100 -n 1000 http://www.haiyun.me/index.html
#并行发送100个请求,执行1000次。

Linux/Centos修改最大文件数限制

发布时间:May 7, 2012 // 分类:系统调优 // No Comments

查看系统最大文件数限制:

cat /proc/sys/fs/file-max 

调整系统最大文件数限制:

echo "fs.file-max=65535" >> /etc/sysctl.conf
sysctl -p

修改进程方面限制:

ulimit -HSn 65535 #只对当前用户有效

修改永久限制:

#centos6 /etc/security/limits.d/90-nproc.conf 
cat >>/etc/security/limits.conf<<EOF 
* soft nproc 65535
* hard nproc 65535
* soft nofile 65535
* hard nofile 65535
EOF

如不能保持:

cat >> /etc/pam.d/login <<EOF
session required /lib/security/pam_limits.so
EOF

查看特定进程限制:

cat /proc/1526/limits

查看系统当前已打开的文件数:

cat /proc/sys/fs/file-nr 

查看指定进程已打开的文件数:

ls /proc/14297/fd/|wc -l
分类
最新文章
最近回复
  • ccc: 可以提供易调用openssl常用函数吗?
  • 夜未央: 在centos7 下面 貌似转换不了。有人遇到过么????
  • brian: 博主你好,请教一个问题。我使用fprobe进行将交换机流量转换成netflow时是没有问题的,...
  • 吴昊: 学习了,感谢博主分享
  • linhua: 只需配置 服务端 的接收端口随机化就行了, 发送端口 因为 连接追踪(conntrack)的缘...
  • Realm: 博主你好,按照你的教程设置了IP转发及SNAT:echo 1 > /proc/sys/net/...
  • Roki: 大神, 为什么我在make clean 就出错了呢 ?你能帮我看看吗 。。。474495758...
  • Duuge: 遇到相同的问题,但未能解决,请求帮助。1、遇到的问题:/target-i386_i486_uC...
  • carlo: 大哥,我觉得你的技术好牛逼!能加你QQ吗
  • lebron: Unknown package 'lrzsz'.Collected errors:* opkg...
页面执行耗时:0.0438秒。-->