仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 644|回复: 9
打印 上一主题 下一主题

[其他Linux] Linux教程之Linux kernel 功能压力下的优化理论(V0.1)仓酷云

[复制链接]
萌萌妈妈 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:28:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
常用的linux命令,尤其是一些能帮你提高开发效率的命令,(eg:grep,awk,sed,split等);
做benchmark测试的过程当中,老是会触及到linux操纵体系底层的设置招致没法充实使用呆板的功能,在调试的过程当中,很多材料没能和linuxkernel版本对应上招致一些参数的设置毛病。依据现有服务器的硬件前提和软件版本做相干优化,把一些理论的心得分享出来。
Kernelversion:2.6.32-71.el6.x86_64
Cpu:Intel(R)Xeon(R)CPUE5606@2.13GHz
Memory:8G
Releasenotes:v0.12012-03-31句柄数,收集参数
成绩1:句柄数的成绩
利用webbench在Linux下做varlish会见压力测试的时分,碰到Socket/File:Can’topensomanyfiles的成绩,缘故原由是linux下一切的工具都是文件,包含socket接口,关于大批的收集毗连,不单单损耗socket文件形貌符,关于历程自己还翻开相称多的文件,Linux的默许句柄数是1024。
办理体例:
修正/etc/security/limits.conf
你的用户名softnofile65535##ulimit-Sn
你的用户名hardnofile65535##ulimit-Hn
unlimt-n检察参考材料:


  • 经由过程ulimit改良体系功能
成绩2:收集参数
利用ab大概webbench做压力测试,假如并发数开到1000的时分,没法完成测试。到早晨检察材料发明是linux收集参数设置。
办理体例:
[longhao@longhaoetc]#vi/etc/sysctl.conf
在kernel2.6之前的增加项:
net.ipv4.netfilter.ip_conntrack_max=655360
net.ipv4.netfilter.ip_conntrack_tcp_timeout_established=180
kernel2.6以后的增加项:
net.nf_conntrack_max=655360#net.nf_conntrack_max=655360也能够
net.netfilter.nf_conntrack_tcp_timeout_established=1200
[longhao@longhaoetc]#sysctl-p/etc/sysctl.conf
假如报错:error:"net.nf_conntrack_max"isanunknownkey则必要利用modprobe载进ip_conntrack模块,lsmod检察模块已载进。
[longhao@longhaoetc]#modprobeip_conntrack

后续申明:
–CONNTRACK_MAX同意的最年夜跟踪毗连条目,是在内核内存中netfilter能够同时处置的“义务”(毗连跟踪条目)
–HASHSIZE存储跟踪毗连条目列表的哈西表的巨细
CONNTRACK_MAX和HASHSIZE的默许值
一样平常来讲,CONNTRACK_MAX和HASHSIZE城市设置在“公道”利用的值上,根据可以使用的RAM的巨细来盘算这个值。
CONNTRACK_MAX的默许值
在i386架构上,CONNTRACK_MAX=RAMSIZE(以bytes记)/16384=RAMSIZE(以MegaBytes记)*64,因而,一个32位的带512M内存的PC在默许情形下可以处置512*1024^2/16384=512*64=32768个并发的netfilter毗连。
可是真实的公式是:CONNTRACK_MAX=RAMSIZE(inbytes)/16384/(x/32)这里x是指针的bit数,(比方,32大概64bit)
请注重:
-默许的CONNTRACK_MAX值不会低于128
-关于带有凌驾1G内存的体系,CONNTRACK_MAX的默许值会被限定在65536(可是能够手工设置成更年夜的值)
HASHSIZE的默许值
一般,CONNTRACK_MAX=HASHSIZE*8。这意味着每一个链接的列表均匀包括8个conntrack的条目(在优化的情形而且CONNTRACK_MAX到达的情形下),每一个链接的列表就是一个哈西表条目(一个桶)。
在i386架构上,HASHSIZE=CONNTRACK_MAX/8=RAMSIZE(以bytes记)/131072=RAMSIZE(以MegaBytes记)*8。举例来讲,一个32位、带512M内存的PC能够存储512*1024^2/128/1024=512*8=4096个桶(链接表)
可是真实的公式是:HASHSIZE=CONNTRACK_MAX/8=RAMSIZE(以bytes记)/131072/(x/32)这里x是指针的bit数,(比方,32大概64bit)
请注重:
-默许HASHSIZE的值不会小于16
-关于带有凌驾1G内存的体系,HASHSIZE的默许值会被限定在8192(可是能够手工设置成更年夜的值)
参考材料:


  • Conntracktuning
  • kernelnf_conntrack:tablefull,droppingpacket办理举措
  • 不要自觉增添ip_conntrack_max-了解Linux内核内存

写学习日记,这是学习历程的见证,同时我坚持认为是增强学习信念的法宝。以上是我学习Linux的心得体会,希望对大家的学习有所帮助,由于水平有限,本文难免有所欠缺,望请指正。
谁可相欹 该用户已被删除
沙发
发表于 2015-1-21 07:26:29 | 只看该作者
查阅经典工具书和Howto,特别是Howto是全球数以万计的Linux、Unix的经验总结非常有参考价值通常40%的问题同样可以解决。
简单生活 该用户已被删除
板凳
发表于 2015-1-30 11:05:12 | 只看该作者
我们这一代90后,从小接触的是windows98,家里条件好的自己有电脑装的是2000,后来又有了XP,上大学时又有了win7。
飘灵儿 该用户已被删除
地板
发表于 2015-2-1 10:04:59 | 只看该作者
了解Linux的网络安全,系统的安全,用户的安全等。安全对于每位用户,管理员来说是非常重要的。
萌萌妈妈 该用户已被删除
5#
 楼主| 发表于 2015-2-7 02:39:50 | 只看该作者
有疑问前,知识学习前,先用搜索。
山那边是海 该用户已被删除
6#
发表于 2015-2-19 21:21:27 | 只看该作者
笔者五分钟后就给出了解决方法: “首先备份原文件到其他目录,然后删掉/usr/local/unispim/unispimsp.ksc,编辑 /usr/local/unispim/unispimsp.ini,最后重启动计算机
金色的骷髅 该用户已被删除
7#
发表于 2015-3-4 11:23:06 | 只看该作者
感谢老师和同学们在学习上对我的帮助。
若相依 该用户已被删除
8#
发表于 2015-3-11 01:19:37 | 只看该作者
随着Linux应用的扩展,出现了不少Linux社区。有一些非常优秀的社区往往是Linux高手的舞台,如果在探讨高级技巧的论坛张贴非常初级的问题经常会没有结果。
9#
发表于 2015-3-17 17:38:50 | 只看该作者
上课传授的不仅仅是知识,更重要的是一些道理,包括一些做人的道理,讲课时也抓住重点,循序渐进,让同学理解很快;更可贵的是不以你过去的成绩看问题.
小魔女 该用户已被删除
10#
发表于 2015-3-24 15:08:33 | 只看该作者
熟悉操作是日常学习Linux中的三大法宝。以下是作者学习Linux的一些个人经验,供参考:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-24 01:08

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表