Using CDN to improve performance

15,171 views
12,011 views

Published on

Published in: Technology
0 Comments
40 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
15,171
On SlideShare
0
From Embeds
0
Number of Embeds
1,396
Actions
Shares
0
Downloads
329
Comments
0
Likes
40
Embeds 0
No embeds

No notes for slide

Using CDN to improve performance

  1. Using CDN to improve performance Gea-Suan Lin [email_address]
  2. 如果有問題…
  3. 請不要舉手,
  4. 請直接打斷!
  5. 亂發問才會亂爆八卦
  6. 我不能回答的,
  7. 有人可以回答。
  8.  
  9. 不過因為投影片超過一百張
  10. 所以請節制…
  11. Anyway…
  12. 開始。
  13. 從小網站開始…
  14. 一台 Server
  15. 一台 Web 一台 Database
  16. 不小心 把網站搞大了
  17. Tuning
  18. 很多台 Web
  19. DNS Round Robin
  20. 每一台 Web 都有 Public IP
  21. 前面架一台 Load balancer
  22. 兩個禮拜後…
  23. Load balancer 凌晨三點當掉
  24. 總經理還沒睡
  25. 把換燈管的叫起來
  26. 換燈管的把我叫起來
  27. 買硬體的 Load balancer
  28. 出事就找人罰站
  29. 繼續 Tuning
  30. 用 Apache 提供 css ?
  31. 一個 css 3KB 佔用一個 50MB 的 httpd…
  32. 動態頁面 與 靜態檔案 分離
  33. 靜態檔案
  34. 獨立網域
  35. static.bubble.com
  36. nginx 或 lighttpd
  37. 為什麼用 nginx ?
  38. CSS/JavaScript + gzip on-the-fly
  39. 一台 nginx
  40. 兩台 nginx ( 兩份檔案 )
  41. 出事了…
  42. 客服殺人…
  43. IE6 + gzip 地雷
  44. IE6 時 gzip 關掉
  45. 繼續成長…
  46. N 台 nginx (N 份檔案 )
  47. 政治不正確
  48. Reverse Proxy Cache
  49. Squid
  50. Invalidate 問題
  51. /main.css
  52. /main.css?v=[ 修改時間 ]
  53. /main.css?v=[ CRC32 ]
  54. 講到這裡,有沒有問題?
  55. 網站繼續大下去…
  56. 「拓展海外市場」
  57. 需要改善非台灣的瀏覽速度
  58. 光速是固定的
  59. 台北 – 美西 120+ms
  60. 台北 – 美東 180+ms
  61. 在美國放伺服器
  62. 用 GeoDNS 分配流量
  63. 寫 Health Check 當國外當掉時改用台灣的伺服器
  64. ZzZz…
  65. 除了美洲還有歐洲
  66. 自己管理的成本過高
  67. 外包給專業的…
  68. CDN
  69. ( 終於進入主題了 )
  70. Content Delivery Network
  71. 內容傳遞網路
  72. ( 屁 )
  73. 等於沒解釋…
  74. 多個伺服器群
  75. 多個地點
  76. 提供相同的內容
  77. 所以…
  78. <ul><li>就近取得內容 </li></ul>
  79. 加快 TCP handshake 速度
  80. 加快 TCP 下載速度
  81. 2. 提供高可靠度
  82. 不同地點互相備援
  83. 3. DoS 防禦
  84. 「由專業公司防禦 DoS 」
  85. 「死道友不死貧道」
  86. 4. 成本
  87. CDN 頻寬比較貴?
  88. 台灣頻寬比 CDN 貴!
  89. 一般頻寬計算方法: 95%
  90. 五分鐘取樣一次
  91. 一個月 30 天共 8640 次
  92. 刪除最高的 5% (432 次 )
  93. 取剩下最高的
  94. From http://en.wikipedia.org/wiki/Burstable_billing
  95. CDN 頻寬計算方式:總量
  96. 總量 = 平均流量 ( 等價 )
  97. 1Mbps ~ 10GB/day
  98. 換算?
  99. 依照網站的 MRTG Pattern
  100. From http://en.wikipedia.org/wiki/Burstable_billing
  101. 95% 2.62M 與平均 1.27M
  102. 大約 2.06 倍
  103. 5. 克服瀏覽器壓縮 bug
  104. 用 CDN 後總量反而下降
  105. 講到這裡,有沒有問題?
  106. CDN 的分類
  107. Latency 、 Thoughput 、 Cost
  108. CSS 、 JavaScript
  109. 低 Latency 、初期 Thoughput 要高、 Cost 不是主要考量
  110. 亞洲要有直接連線的 PoPs
  111. 尤其是 HiNet 與 TANet
  112. 影音
  113. Latency 不重要, Thoughput 足夠就好, Cost 要低
  114. 封包到美西再到香港
  115. 所以…
  116. ( 如果有時間的話 )
  117. 總是要講一下實際案例?
  118. Akamai
  119. 很大,非常大,第一大
  120. 效能是最好的
  121. 台灣唯一有 PoPs 的 CDN
  122. 台灣有經銷商
  123. 價錢…
  124. Limelight Networks
  125. 第二大?
  126. YouTube 被 Google 買之前的 CDN
  127. 有香港與日本的 PoPs
  128. 但是都是導到美西 PoPs
  129. 第二大不一定比其他的好
  130. CDNetworks
  131. 第三大?
  132. 二月買下 Panther Express
  133. 討論 Panther Express
  134. 有香港與日本的 PoPs
  135. HiNet 與 TANet 到香港都是 20+ms
  136. HiNet 調整 routing 時會自動跳到日本,約 30+ms
  137. PIXNET 的 CSS/JavaScript
  138. EdgeCast
  139. 第 N 大 ( 不重要了 )
  140. 有香港與日本的 PoPs
  141. 會導到香港的 PoP ,但是會先到美西
  142. 但是速度沒問題
  143. PIXNET 的影音
  144. Voxel
  145. 就是一家 CDN 業者…
  146. 價錢公佈在網站上
  147. 沒有亞洲的 PoPs
  148. Amazon CloudFront
  149. Because it’s Amazon…
  150. Don’t waste your time
  151. Amazon S3 應該找其他 CDN 搭配用
  152. SimpleCDN
  153. 完全是拼價錢的 CDN
  154. 目前沒有亞洲的 PoPs
  155. 不吃 file.css?v=[ 時間 ]
  156. 就…
  157. 實際案例
  158. ( 如果還有時間的話 )
  159. download.microsoft.com
  160. Akamai + Limelight
  161. js.microsoft.com
  162. Akamai
  163. www.barackobama.com
  164. Panther Express (g2)
  165. US-only PoPs
  166. public.slideshare.net
  167. Panther Express (g1)
  168. US + EU PoPs
  169. cdn.slideshare.net
  170. Panther Express (l1)
  171. 價錢導向的 CDN Level
  172. cdn1.badongo.com cdn2.badongo.com cdn3.badongo.com cdn4.badongo.com
  173. Amazon CloudFront Akamai EdgeCast ( 目前是這個 ) EdgeCast
  174. Thanks

×