(Cache,Asynchronous,Concurrent)
前端性能優化
- 網頁瘦身,降低帶寬消耗。
- 儘量少的使用圖片及大體積的東西。
- 合併js、css文件以減少請求加載次數
- 頁面靜態化
- DNS負載均衡
- CDN,Content Delivery Network,即內容分發網絡
後臺性能優化
- 數據庫部分
- 數據冗餘
將數據庫的數據冗餘處理,以減少大表連接查詢 - 數據鏡像
- 數據分區
- 數據冗餘
- 邏輯
Cache
- page caching
- action caching
- Action caching is dependent on urls.
- fragment caching
- Fragment caching is dependent on the view being rendered.
- 片段緩存(Fragment caching)就是緩存已渲染的HTML片段進Rails.cache,(P: Rails provides a ‘cache’ view helper for this. It’s most basic form takes no arguments besides a block.)
<%= cache "#test{@test.id}-{@test.updated_at}" do %>
<div>
<b><%= @test.title %></b>
</div>
...
<% end %>
All cached content are stored in the Rails.cache(except page caching). Page caching are stored as HTML on disk.
Tip:
- 把握緩存粒度,以降低expired,提高命中率爲目標
- 數據一致性