杜郎俊赏 - dujun.io

工作笔记

刚紧急处理了一个线上压力问题,服务器负载过大导致掉线大半。从系统日志跟踪到一个项目代码,处理掉可能的死循环,果然解决了问题。

在理论上这段代码是不可能成为死循环的,只是简单的while break,而且这个项目已经运营超过一年了都没有在这里出问题。

那么问题是如何暴露的呢?

第一点,对方接口做了改版,存在不可信任因素;
第二点,因为页面入口调整,该项目单页面pv得到超过以往十倍的增长。

本来简单并且理论上可靠的代码,当面对的用户压力激增时问题就立即暴露了。针对一定规模的访问,代码是安全的;当规模激增十倍,高并发让代码漏洞放大远不止十倍,很可能奔溃。

做大项目和做小项目在工作量上不是倍数关系,要付出高得多的思考和谨慎。

日期:2010-06-14