|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
写学习日记,这是学习历程的见证,同时我坚持认为是增强学习信念的法宝。以上是我学习Linux的心得体会,希望对大家的学习有所帮助,由于水平有限,本文难免有所欠缺,望请指正。
话说这些天电视上正在热映《隋唐好汉》,固然我并没有看,可是对昔时田连元老师长教师的评书联播《隋唐演义》倒是念念不忘,出格是故事内里讲到的程咬金的三板斧:拍蒜瓣、戳脚趾甲盖、胡椒面,屡屡听来老是让人忍俊不由,不外这些貌似无厘头的招数在实战中却常常有声东击西的效果,因而可知复杂有用永久都是硬事理,在以后这个倡议DevOps的年月,我们这些程序员天然也要学一些运维方面的本领才好安居乐业,上面分离一些实在案例说说我在一样平常事情中经常使用的三板斧。
第一板斧:AWK
Web服务器负载飙升,推测是会见量激增酿成的,怎样考证?假如有监控,这天然不是甚么难事,但假如没有呢?亦大概监控不克不及显现即便数据,此时如之奈何?
条件:日记已经由过程logrotate按天切分,其内容相似上面的模样:- 1.2.3.4--[01/Jan/2013:00:01:01+0800]"GET/pathHTTP/1.1"...
复制代码 使用AWK,我们能够很便利的盘算一天中每分钟的会见量是几:- shell>awk-F:{count[$2":"$3]++}END{for(minuteincount)printminute,count[minute]}/path/to/log|sort>count.log
复制代码 上面列出身成的count.log文件中的部分数据,了局一览无余,未几说了:- 18:551445018:561492618:571564518:581667818:591903219:002913419:013466519:023555819:033554519:043582919:0535608
复制代码 假如想要以秒为单元来统计,也是相似的办法,这里就未几说了。
第二板斧:Strace
程序运转很慢,我们怎样晓得究竟慢在哪?此时能够使用strace的「-T」选项,不外必要注重的是,strace的了局在尺度毛病里,利用前最好重定向到尺度输入。
上面让我们过滤某个PHP历程中操纵工夫年夜于0.001秒的操纵:- shell>strace-T-p<PID>2>&1|awksubstr($NF,2,8)>0.001lstat64("/var/www",{...})=0<0.001596>
复制代码 假如成绩对照复杂,一般如许就够了,但假如成绩绝对庞大,那末我们仅仅过滤出耗时的操纵是不敷的,最好附上完全的高低文,此时假如用AWK来做的话,代码会变得很庞大,别忘了我们另有grep,经由过程它的「A」和「B」选项能够很便利的保留高低文,别的使用它的正则功效,能够摹拟判别工夫的巨细。
上面让我们过滤某个PHP历程中操纵工夫年夜于0.001秒的操纵,并附上前后两行高低文:- shell>strace-T-p<PID>2>&1|grep-E-A2-B2<([1-9]|0.[1-9]|0.0[1-9]|0.00[1-9])getcwd("/var/www/script",4096)=32<0.000081>lstat64("/var",{...})=0<0.000805>lstat64("/var/www",{...})=0<0.001596>lstat64("/var/www/script",{...})=0<0.000105>lstat64("/var/www/script/test.php",{...})=0<0.000112>
复制代码 增补:本例中利用的是PHP程序,之以是会呈现一堆lstat64操纵是由于PHP设置中没有设定符合的realpath_cache_size,详细就未几说了,人人自行查阅相干材料。
Linux的常用命令find,察看man文档,初学者一定会觉得太复杂而不原意用,但是你一旦学会就爱不释手。 |
|