1. 理论
    1. 性能数字
      1. * L1 cache reference 0.5 ns
      2. * Branch mispredict 5 ns
      3. * L2 cache reference 7 ns
      4. * Mutex lock/unlock 100 ns
      5. * Main memory reference 100 ns
      6. * Compress 1K bytes with Zippy 10,000 ns
      7. * Send 2K bytes over 1 Gbps network 20,000 ns
      8. * Read 1 MB sequentially from memory 250,000 ns
      9. * Round trip within same datacenter 500,000 ns
      10. * Disk seek 10,000,000 ns
      11. * Read 1 MB sequentially from network 10,000,000 ns
      12. * Read 1 MB sequentially from disk 30,000,000 ns
      13. * Send packet CA->Netherlands->CA 150,000,000 ns
    2. 缓存替换策略
      1. LRU
      2. LFU
      3. GDSF (greedy dual-size frequency)
  2. 系统
    1. TFS (Taobao FileSystem)
      1. 原理:
        1. 针对小文件存储(<1M)
        2. 将小文件合成为一个大文件(Block,一般为64M)
        3. 客户端维护实际文件名和TFS ID的映射
        4. 同一文件只能有一个客户端更新,使用Lease管理
      2. 实现:
        1. 架构
        2. 元数据
        3. 文件名
        4. 1.0架构
        5. 1.3 架构
      3. [TODO] 代码:
    2. Taobao CDN
      1. 架构
        1. 老架构(2010年前)
          1. 问题1:NetScaler流量限制
          2. 问题2: NetScaler 在转发规则较多时的性能问题
          3. 问题3: 在改动NetScaler时,有可能引起全站当机。
        2. 新架构 (2010年)
          1. L4 Switch在TCP/UDP层 (一般针对HTTP,所以是TCP)
          2. L4 负责负载均衡几个HAProxy,从而可以得到很高的ThroughPut(单VIP 100G)
          3. HAProxy再负责应用层的转发
          4. 风险分担,改动单个HaProxy影响不大
          5. 所有频道同一调度,提交命中率
      2. 性能
        1. 节点规模:30台 DELL PowerEdge 2950服务器
        2. • 逻辑结构:2 LVS + 30 Haproxy + 60 Squid
        3. • 时间:2010年5月上线运行
        4. • 理论最大负载能力:12Gbps
        5. • 单台2950服务器可到400Mbps的吞吐率
        6. • 单台存储:160G SSD + 143G SAS * 4 + 1T SATA
          1. • 按对象访问热点进行迁移:最热的进SSD,中等热度 的放SAS,轻热度的存SATA
        7. • 单squid最大object数目:3000万
        8. • Cache请求命中率:97.5%
        9. • Cache字节命中率:97.5%
    3. Squid
      1. [TODO] Storage: COSS, AUFS, DiskD
      2. Replace Policy
        1. greedy dual-size frequency (GDSF)