02-带宽计算服务划分

宽带计算服务划分

带宽计算

架构网站时会提出一些目标(100 万PV/日访问量)计算带宽大小主要涉及两个指标(峰值流量和页面大小)

  • 1 假设峰值流量是平均流量的5 倍
  • 2 假设每次访问平均的页面大小是100K 字节左右
    如果100 万PV 的访问量在一天内平均分布的话,折合到每秒大约12 次访问,如果按平均每次访问页面的大小是100K 字节左右计算的话,这12 次访 问总计大约就是1200K 字节,字节的单位是Byte ,而带宽的单位是bit ,它们之间的关系是1Byte = 8bit ,所以1200K Byte 大致就相当于9600K bit ,也就是9Mbps 的样子,实际情况中,我们的网站必须能在峰值流量时保持正常访问,所以按照假设的峰值流量算,真实带宽的需求应该在45Mbps 左右

服务器的划分

服务器类型

图片 页面 数据库 应用 日志等

图片页面服务器

对于访问量大点的网站: 分离图片和页面是很必要的
  1. lighttpd 跑图片(可多个)
  2. Apache 跑页面(可多个)
  3. 设置相关域名里的图片路径都使用绝对路径,,然后设置DNS 轮循,达到最初级的负载均衡

服务器同步

rsync 软件搞定

数据库服务器:(瓶颈所在)

  1. 中小企业用 MySQL (一主多从缺点是不能降低写压力)
    主用innodb 表结构,从用myisam 表结构能发挥优势,而且主从读写分离,降低读压力。甚至专门做一台从来备份,在备份数 据的时候,可以先停止服务(slave stop )再备份,再启动服务(slave start )后从服务器会自动从主服务器同步数据,一切都没有影响。
  2. 更大规模:横向/ 纵向分割数据库
    横向分割数据库:就是把不同的表保存到不同的数据库服务器上
    纵向分割数据库:一般是指按照用户标识(user_id )等来划分数据存储的服务器
    数据库服务器的解决方案一般视情况往往是一个混合的方案,以其发挥各种方案的优势,有时候还需要借助 memcached 之类的第三方软件,以便适应更大访问量的要求。

应用服务器:PHP脚本那样我们的页面服务器只保存静态页面

使用prefork 模式的apache + xcache 之类的PHP 缓存软件,加载模块要越少越好,除了mod_rewrite 等必要的模块,不必要的东西统统舍弃,尽量减少httpd 进程的内存消耗,而那些图片服务器,页面服务器等静态内容就可以使用lighttpd 或者tux 来搞,充分发挥各种服务器的特点。

日志服务器

如果条件允许,独立的日志服务器也是必要的,一般小网站的做法都是把页面服务器和日志服务器合二为一了,在凌晨访问量不大的时候cron 运行前一天 的日志计算,不过如果你使用awstats 之类的日志分析软件,对于百万级访问量而言,即使按天归档,也会消耗很多时间和服务器资源去计算,所以分离单独的日志服务器还是有好处的,这样不会影响正式服务器的工作状态。

posted on 2025-02-13 14:11  luokeli  阅读(33)  评论(0)    收藏  举报

导航