一台服务器能放几个网站,答案不在服务器本身,而在这些网站合起来的资源画像。同样配置的机器,放十个静态官网可能游刃有余,放两个重型应用就可能吃紧。
## 问题的本质
多站同机的约束是资源池共享:CPU、内存、磁盘 IO 与带宽按需竞争,任何一个维度打满,所有站点一起变慢。估算容量本质上是对这个共享资源池做预算,每个站点是预算中的一个条目。
## 估算方法
以内存为主要标尺。逐个站点统计 Web 进程与数据库进程的常驻内存,多数建站程序的内存占用在部署后趋于稳定,观察一周的监控曲线即可得到可靠数值。把所有站点的常驻内存求和,加上系统开销,控制在总内存的七成以内,留出的三成是峰值缓冲与应急空间。CPU 用峰值叠加法:统计各站点高峰时段的 CPU 占用,错峰明显的站点群可以适度宽松,访问高峰重叠的则要按同时峰值计算。带宽看并发曲线的总和,图片视频类站点单独评估。磁盘容量之外更要看 IO,多个数据库同机时 IO 最先成为瓶颈。
## 常见错误
第一种是只数个数不看画像,十个轻站与三个重站没有可比性。第二种是忽略数据库的集中风险,所有站点的库挤在一块盘上,一个站点的慢查询拖慢全部站点。第三种是上限思维缺失,服务器资源用到九成还不拆分,一次流量波动就全面告警。
## 收束
给一个务实的起点:新站点上线前估算其内存与带宽画像,对照当前余量决定收不收;每个季度复查一次水位,内存长超七成或带宽高峰持续逼近上限,就该考虑拆分或升配。顺云控制台的监控图表可以直接读出各维度水位,配合虚拟主机式的目录隔离,多站同机的管理成本也能保持在低位。