- Oct 16 Fri 2009 14:38
[Basic] 一些新手學習 rails 可以當做 example 的 application
- Oct 16 Fri 2009 14:34
[Scale] Scale Frontend 應該注意的五件事
EngineYard Blog 10/13 發表的一篇文章:Rails in the Wild: 5 Client-Side Performance Observations
五個重點:
1. It’s easy to forget to compress your JavaScript and CSS
要記得 :cache => true
2. Watch out for slow third party services
都是慢在第三方
3. Using multiple image hosts doesn’t always mean higher performance
拆那麼多台未必會比較快
4. S3 is NOT a Webserver!
S3 是 storage ,不是 web server。所以不要一股腦的把東西往上丟,要注意有沒有敏感資訊,而且 s3p 是沒有幫忙做 gzip 的。
5. Most performance variability is NOT attributable to page factors
速度慢通常是慢在後端..
五個重點:
1. It’s easy to forget to compress your JavaScript and CSS
要記得 :cache => true
2. Watch out for slow third party services
都是慢在第三方
3. Using multiple image hosts doesn’t always mean higher performance
拆那麼多台未必會比較快
4. S3 is NOT a Webserver!
S3 是 storage ,不是 web server。所以不要一股腦的把東西往上丟,要注意有沒有敏感資訊,而且 s3p 是沒有幫忙做 gzip 的。
5. Most performance variability is NOT attributable to page factors
速度慢通常是慢在後端..
- Oct 16 Fri 2009 14:14
[寄信] 使用 Mad Mini 發送電子報
這是今天在 EnvyLab 看到的一篇文章所提到的新 starup Mad Mini。
一般傳統寄信的做法通常是靠 ActionMailler 去寄。不過 ActionMailer 本身有相當多的問題,大量使用會有維護上的困難。
這篇文章的建議是使用 Mad Mini API 取代掉 deliver method ,而不自己 maintain server 的做法....
一般傳統寄信的做法通常是靠 ActionMailler 去寄。不過 ActionMailer 本身有相當多的問題,大量使用會有維護上的困難。
這篇文章的建議是使用 Mad Mini API 取代掉 deliver method ,而不自己 maintain server 的做法....
- Oct 14 Wed 2009 18:50
[Scale] 使用不同 backend 做 Cache
在開發時,使用 partial 是相當簡潔以及迅速的做法。但這會帶來一個壞處。造成相當多的 db query 以及 render :partial 這個行為帶來的 slow down。
解法是,在 controller 下 find all 時,順便下 :include ,把相關的 model 都拉一拉回來。
至於 partial 這部份,就使用 fragment cache 的做法,把 html 丟進 memcache ..XD。時間到 expire 掉。
這樣噴頁面速度就會相當快。
目前我使用的是 Handcache + Moneta。
Moneta supports 相當多的 backend
* File store for xattr
* Basic File Store
* Memcache store
* In-memory store
* The xattrs in a file system
* DataMapper
* S3
* Berkeley DB
* Redis
* SDBM
* Tokyo
* CouchDB
解法是,在 controller 下 find all 時,順便下 :include ,把相關的 model 都拉一拉回來。
至於 partial 這部份,就使用 fragment cache 的做法,把 html 丟進 memcache ..XD。時間到 expire 掉。
這樣噴頁面速度就會相當快。
目前我使用的是 Handcache + Moneta。
Moneta supports 相當多的 backend
* File store for xattr
* Basic File Store
* Memcache store
* In-memory store
* The xattrs in a file system
* DataMapper
* S3
* Berkeley DB
* Redis
* SDBM
* Tokyo
* CouchDB
- Oct 14 Wed 2009 18:46
[Scale] Rails 接 cluster db
使用 Data Fabric 這個 gem。
這個 gem 的想法是建一個 proxy,先去問 mapping table,然後要資料時 reset db connection 去該負責的 db 拿資料。
這個 gem 的想法是建一個 proxy,先去問 mapping table,然後要資料時 reset db connection 去該負責的 db 拿資料。
- Oct 14 Wed 2009 18:44
[Scale] Rails Application 接兩個以上的 db
Splitting up Rails Models to different databases
然後在 lib/tasks/dev.rake 裡寫 override db:create; db:drop 的 rake; 確保重建資料時一致
然後在 lib/tasks/dev.rake 裡寫 override db:create; db:drop 的 rake; 確保重建資料時一致
- Oct 04 Sun 2009 17:31
[Trick]多重 asset_host
- Sep 09 Wed 2009 10:00
Plugin: Oink
http://github.com/noahd1/oink/tree/master
Description
Rails plugin and log parser to help narrow down the source(s) of increased memory usage in rails applications.
Synopsis
Oink adds memory and active record instantiation information to rails log during runtime and provides an executable to help digest the enhanced logs.
Given a minimum threshold and a metric (memory or active record instantiation), the oink executable reports:
1. The top ten single requests which exceeded the threshold for the metric, ordered by the request which exceeded the threshold the most
2. The number of times each action exceeded the threshold for the metric, ordered by the action which exceeded the threshold the most
3. (in verbose mode) The log lines produced by requests which exceeded the threshold
協助降低 Rails Application 降低記憶體用量的 plugin
Description
Rails plugin and log parser to help narrow down the source(s) of increased memory usage in rails applications.
Synopsis
Oink adds memory and active record instantiation information to rails log during runtime and provides an executable to help digest the enhanced logs.
Given a minimum threshold and a metric (memory or active record instantiation), the oink executable reports:
1. The top ten single requests which exceeded the threshold for the metric, ordered by the request which exceeded the threshold the most
2. The number of times each action exceeded the threshold for the metric, ordered by the action which exceeded the threshold the most
3. (in verbose mode) The log lines produced by requests which exceeded the threshold
協助降低 Rails Application 降低記憶體用量的 plugin
- Sep 04 Fri 2009 16:33
[懶人] Magick Installer
因為 rmagick 在 MacOS 下實在太難裝了。於是有人寫了一支 script 來處理這種惱人的事。
http://github.com/maddox/magick-installer
http://github.com/maddox/magick-installer
- Sep 03 Thu 2009 11:15
[Scale] 在 Rails Project 對 Database 打 index 應該注意的一些事項
Matt Jankowski provided a great article on properly indexing your database for your Rails application. He covers indexing validation and STI columns, state columns for state machines, association columns, and more.