星图导航
首页 文章 排行榜 申请收录 友链申请 关于
首页 / 文章资讯 / 域名主机 / 站点容量规划:什么时候该升级配置

站点容量规划:什么时候该升级配置

星图导航配图

站点跑着跑着变慢,第一反应往往是“该升级配置了”。但升级之前得先搞清楚,慢是配置不够,还是代码写得烂、数据库没索引、图片没压缩。花几百块升了配置,问题还在,钱就白花了。容量规划的核心不是买更大的机器,是知道瓶颈在哪、什么时候真的需要加。

先搞清瓶颈在哪

服务器有四类资源:CPU、内存、磁盘、带宽。哪一类先打满,瓶颈就在哪。

用 top 或者 htop 看 CPU 使用率,长期超过百分之七十说明 CPU 吃紧;用 free -h 看内存,可用内存长期低于百分之十,而且有大量 swap 交换,说明内存不够;用 iostat 看磁盘的读写等待,await 值高说明磁盘慢;用 iftop 或者面板自带的流量图看带宽,跑满就是带宽瓶颈。

四类里最常见的是内存和磁盘。内存不够的表现是服务频繁重启、响应变慢、日志里出现内存溢出;磁盘慢的表现是数据库查询突然变慢,尤其是写入。

还有一类隐性瓶颈是数据库连接数。机器资源都很闲,但站点就是慢,一查连接数打满了,请求在排队。这种加配置没用,得改程序或者加连接池。

三个指标判断是不是该升级了

别凭感觉。三个数字能给出相对客观的判断。

第一,高峰时段的资源峰值。连续观察一周,取每天访问最高那一个小时的平均值。CPU 超过百分之八十、内存超过百分之九十、带宽超过百分之八十五,满足任意两条就该考虑升级。

第二,响应时间趋势。同样一篇内容页,三个月前打开用五百毫秒,现在要两秒,而且代码没大改,说明资源扛不住了。

第三,错误率。五百错误、超时错误的比例超过百分之一,且排除了代码 bug,基本就是容量问题。

三个指标里,第二个最有说服力。资源数字会骗人(比如突发流量导致的短时峰值),响应时间的长期趋势不会。

升级的三种方式,代价不一样

第一种是加配置。同一台机器加 CPU、加内存、换固态盘。好处是数据不用迁移,改完重启就行;坏处是有上限,而且价格不便宜,很多云厂商升配是按新机器价格算的。

第二种是换更大的机器。数据要迁移,有停机时间,但性能提升明显。迁移前必须测好新机器的环境和老机器一致,PHP 版本、扩展、数据库版本,差一个就可能出问题。

第三种是拆开跑。把数据库单独放到一台机器,或者把图片走对象存储加 CDN,把 Web 和数据库分离。这种方式成本增加不多,但效果往往最好,因为它解决的是资源争抢问题。

小站优先考虑第三种。很多站点慢不是因为机器小,是因为 Web 和数据库抢同一份内存和磁盘。拆开之后,同样的配置能多扛好几倍流量。

云服务器还是独立服务器

小站起步用云服务器就行,按量付费,随时升配,运维省心。流量稳定上来之后可以算一笔账:同配置的独立服务器租一年往往比云主机便宜三分之一,性能也更稳定,代价是硬件故障要自己管。折中的做法是核心数据库放独立机、前端放云主机,兼顾成本和灵活性。

还有个隐性成本要注意:迁移。云厂商之间换一次,要重新部署环境、导数据库、改 DNS,至少半天。选服务商别只比价格,还要看迁移成本和售后响应速度。

提前多久准备

别等到挂了才升。留出两周的缓冲期比较稳妥:发现指标接近阈值就开始规划,一周内选好方案,再留一周做迁移和验证。

有活动或者大流量预期的时候,提前一个月。促销、被大 V 转发、上首页推荐,这些都会带来几倍甚至几十倍的流量峰值。临时升级来不及,只能提前准备或者上 CDN 挡一挡。

还有个低成本的做法:提前做好降级预案。真扛不住的时候,关掉非核心功能(搜索、相关推荐、评论加载),保住首页和内容页,用户体验能维持住。

不花钱也能提性能的几招

升级之前,这几件事先做,往往能顶一次升配。第一,开页面缓存。内容型站点的多数请求是重复的,缓存命中率做到八成就省掉八成数据库查询。第二,图片压缩加懒加载,一张两兆的图压到两百K,首屏时间能砍一半。第三,数据库加索引,慢查询日志里排前几的那几条,加个合适的索引,执行时间能从秒级降到毫秒级。第四,静态资源丢到 CDN,源站带宽压力立刻下降。

这四招全免费,做完再评估要不要升配。很多站点做完这几步,原有配置能再撑一年。

监控怎么做才不至于被动

至少三个层面埋监控:系统层看 CPU、内存、磁盘、带宽;应用层看响应时间、错误率、慢查询数量;业务层看日活、访问量、转化。三层放在一起看,才能分清是资源问题还是业务增长。只看系统监控,CPU 高了你不知道是流量涨了还是有死循环;只看业务监控,访问量涨了不知道机器扛不扛得住。

告警阈值别设太紧。天天报警的监控等于没有监控,人会麻木。设成连续五分钟超阈值才报,过滤掉瞬时峰值。

别过度配置

另一个极端是买了一堆用不上的资源。八核十六G 跑一个日访问几百的站,纯属浪费。容量规划的目标是“够用加上一点余量”,不是“越大越好”。

判断方法很简单:看资源使用率的日均曲线。日均 CPU 在百分之二十以下,说明配置过剩,下次续费可以降一档。钱省下来买 CDN 或者做内容,回报比堆硬件高得多。

容量这事,本质是算清楚账。知道现在用多少、瓶颈在哪、涨到什么程度要加,就不用在半夜被报警叫醒。