有个客户找过我们收拾烂摊子:活动页面刚推出去,公司群里发了个链接,十几分钟之后网站就打不开了。开发的人一脸懵,本地测试明明一切正常。后来一查,就是没做压测,并发一上来,数据库连接直接被打满,整个网站开发的项目等于上线当天就翻车。
本地测试和真实访问完全是两码事。一个人在电脑上点来点去,怎么测都是顺的,可真实场景下几百人同时提交订单、同时刷新页面,服务端扛不扛得住是另一回事。压测就是干这个的——模拟大量用户同时访问,看看系统在什么量级开始变慢,什么量级直接崩掉。
很多人觉得自己的项目小,用不着压测,这恰恰是最容易吃亏的想法。小项目往往服务器配置也低,反而更容易被一波流量冲垮。压测不用搞得很复杂,找个工具模拟并发请求,把核心页面和提交接口各跑一轮,心里就有数了。真测出瓶颈,加个缓存、调个连接池,可能半天就解决了,比上线就崩、连夜救火强太多。
网站开发不怕功能做得慢,就怕上线那一刻才发现底子是虚的。压测这一步看着费事,其实是给整个项目买保险,千万别省。