nginx、php-fpm默认配置与性能–TCP socket还是unix domain socket

前几天看到一篇博客《关于流量升高导致TIME_WAIT增加,MySQL连接大量失败的问题》,提到php所在服务器在大并发情况下,频繁创建TCP短连接,而其所在服务器的2MSL时间过长,导致没有端口可用,系统无法创建TCP socket,而大量报错。博主在后面给的解决方案是减少2MSL的时间,尽快清除TIME_WAIT状态的TCP连接,回收端口。同时,文章结尾写了不用长连接的理由,但这真的是最好的解决办法吗?有其他办法可以更好的做法吗?

Continue reading


CodeIgniter框架中关于DB事务处理的设计缺陷

在我们线上的某个业务中,使用较老版本的CodeIgniter框架,其中的DB类中,对DB事物处理部分存在着一个设计上的缺陷,或许也算不上缺陷吧。但他却影响了我们生产环境,导致连锁反应。对业务产生较大影响,且不容易排查。这个问题,我在今年的3月中旬,曾向http://codeigniter.org.cn/的站长Hex 报告过,之后,我也忘记这件事情了。直到今天,我们线上业务又一次以为这个问题,害的我又排查一次。具体原因,各位且先听我慢慢说完。

Continue reading


心如止水-近来琐事总结

老与贫皆非人之所愿,然而谁也回天无力,在万般无奈的情况下,只能叹而且嗟,聊以抒发郁闷而已,其次是故作豪言壮语,表面强硬,内实虚弱。最有名的最为人所称誉的是曹操的名作: 老骥伏枥,志在千里。烈士暮年,壮心不已。 初看起来气粗如牛;仔细品味,实极空洞。这有点像在深夜里一个人独行深山野林中故意高声歌唱那样,流露出来的正是内心的胆怯。

Continue reading


php5.3.8中编译pdo_mysql的艰难历程

1,以官方文档为准,一切跟着官方文档来,不轻易采信网络上网友提供的编译参数,包括这边博文。不论对方是老手、大牛,还是其他什么什么有威望的人。他们提供的方法或许跟你当前的环境不一致,时间也相差很大,或许相隔好几年了;2,确认得到的结果是准确的,怎么说呢,文中的例子中php-i的路径不是我们新编译的,而是之前编译,或者yum安装的,一定要到自己编译的程序目录下,用自己新编译的脚本去执行测试,获得测试结果,下结论,不为了偷懒,不敲路径,直接写程序名进行测试;

Continue reading


WEB开发安全与运维安全浅见

SESSION与COOKIE到底哪个更安全?去年80sec公布关于NGINX+php的漏洞,跟今年的这次是同一个漏洞?有关系吗?http keep-alive超时时间过长,会带来安全问题吗?设置多少秒合适?腾讯QQ群文件包含漏洞又是怎么一回事呢?借用网友的一句话,作为程序员,尽量要做到“知其然,知其所以然”,多多关注web安全,不要给安全工程师添麻烦,不能丢了程序员的脸。

Continue reading


YSLOW法则中,为什么yahoo推荐用GET代替POST?

蜇伏Yahoo的优化法则里,有这么一条“Use GET for AJAX Requests”,让我们尽量使用GET来代替POST发起AJAX请求,为什么呢? 上上周五,公司前端工程师培训,提到前端优化的一些技巧,当然不能少了yahoo yslow的优化法则。其中有这么一条“Use GET for AJAX Requests”,这些法则从最开始的14条,到现在的35条,一直都时刻关注的。可这么一条的原因我却一点都不清楚。在提问的环节里,我对yahoo WEB前端优化法则推荐AJAX中,使用GET代替POST的原因有疑问,便请教前端工程师。我们的工程师说GET的话,浏览器发送一个包,POST会发两个等等。我对这个解释仍带有疑问,甚至怀疑。

Continue reading


《正则表达式》PPT共享(公司内部培训)

发明BSD、TCP/IP、csh、vi和NFS的SUN首席科学家Bill Joy说过,在计算机体系结构领域里,缓存是唯一称得上伟大的思想的。其他的一切发明和技术不过是在不同场景下应用这一思想而已。在计算机软件领域里,情形也大体相似。如果罗列这个领域的伟大发明,绝对不超过二十项。这些包括分组交换网络、WEB、lisp、哈希算法、UNIX、编译技术、关系模型、面向对象、XML这些大名鼎鼎的家伙,而正则表达式绝对不应该被漏掉。

Continue reading