一个epoll惊群导致的性能问题
admin 8年前 (2017-05-10) 5069浏览 0评论
在我们内部的系统中,有一个tcp的代理服务,用户所有的网络相关的请求,比如访问外网,或者访问在内网的某些服务,都需要通过这个服务,一方面是实现对外网访问的计费,另外也通过白名单机制,对应用的内网访问进行相应的限制。 随着业务量的增加,发现提供服务的机...
admin 8年前 (2017-05-10) 5069浏览 0评论
在我们内部的系统中,有一个tcp的代理服务,用户所有的网络相关的请求,比如访问外网,或者访问在内网的某些服务,都需要通过这个服务,一方面是实现对外网访问的计费,另外也通过白名单机制,对应用的内网访问进行相应的限制。 随着业务量的增加,发现提供服务的机...
admin 8年前 (2016-09-10) 3035浏览 0评论
早些年,如果你知道有个 strace 命令,就很牛了,而现在大家基本都知道 strace 了,如果你遇到性能问题求助别人,十有八九会建议你用 strace 挂上去看看,不过当你挂上去了,看着满屏翻滚的字符,却十有八九看不出个所以然。本文通过一个简单的...
admin 10年前 (2015-01-16) 4742浏览 0评论
背景: Nginx模块fastcgi_cache后会在启动时候出现cache manager process和cache loader process 进程,查了下得知这玩意是用来作header使用的,PHP输出后由经它后给替换了header,有点像...
admin 10年前 (2015-01-03) 3683浏览 0评论
/etc/resolv.conf 有两个默认的值至关重要,一个是超时的 timeout,一个是重试的 attempts,默认情况下,前者是 5s 后者是 2 次。 这个估计很多工程师都不是很在意,一般情况下,使用默认的值倒没什么大问题,特殊情况我会在...
admin 10年前 (2014-11-10) 4839浏览 0评论
在web项目中,大家都已经非常熟悉其架构流程了。都说Cache是万金油,哪里不舒服抹哪里。这些流程中,几乎每个环节都会进行cache。从浏览器到webserver,到cgi程序,到DB数据库,会进行浏览器cache,数据cache,SQL查询的cac...
admin 11年前 (2014-07-16) 6448浏览 0评论
缘起 有一个日志文件,很大很大;当想看最新的写入的时候,首先想到的是tailf,大概是因为 tailf 比 tail -f 少2个字符吧。但是,许久没有输出,感觉不应该的,不管文件有多大,从文件尾部开始查还是比较快的;换用tail -f 试试,...
admin 11年前 (2014-04-11) 2897浏览 0评论
当一个程序发生故障时,有时候想通过了解该进程正在执行的系统调用来排查问题。通常可以用 strace 来跟踪。但是当进程已经处于 D 状态(uninterruptible sleep)时,strace 也帮不上忙。这时候可以通过 cat /proc/&...
admin 11年前 (2013-10-09) 2950浏览 0评论
俗话说:不怕贼偷,就怕贼惦记着。在面对故障的时候,我也有类似的感觉:不怕出故障,就怕你不知道故障的原因,故障却隔三差五的找上门来。 十一长假还没结束,服务器却频现高负载,Nginx出现错误日志: connect() failed (11...
admin 11年前 (2013-09-23) 3432浏览 0评论
简单说,strace是可以跟踪一个程序在做什么的命令。 一 它可以监控某个要执行的命令,比如平时最常见的ls命令: [root@localhost a]# strace ls execve(“/bin/ls”, [“...
admin 12年前 (2013-05-27) 2925浏览 0评论
strace常用来跟踪进程执行时的系统调用和所接收的信号。 在Linux世界,进程不能直接访问硬件设备,当进程需要访问硬件设备(比如读取磁盘文件,接收网络数据等等)时,必须由用户态模式切换至内核态模式,通过系统调用访问硬件设备。strace可以跟踪到...