Jetpack Blog 10/14 整理了一篇 High Quality Ruby on Rails Example Applications

練功時可以參考別人的寫法

xdite 發表在 痞客邦 留言(10) 人氣()

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

速度慢通常是慢在後端..

xdite 發表在 痞客邦 留言(0) 人氣()

這是今天在 EnvyLab 看到的一篇文章所提到的新 starup Mad Mini

一般傳統寄信的做法通常是靠 ActionMailler 去寄。不過 ActionMailer 本身有相當多的問題,大量使用會有維護上的困難。

這篇文章的建議是使用 Mad Mini API 取代掉 deliver method ,而不自己 maintain server 的做法....

xdite 發表在 痞客邦 留言(0) 人氣()

在開發時,使用 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

xdite 發表在 痞客邦 留言(0) 人氣()

使用 Data Fabric 這個 gem。

這個 gem 的想法是建一個 proxy,先去問 mapping table,然後要資料時 reset db connection 去該負責的 db 拿資料。

xdite 發表在 痞客邦 留言(0) 人氣()

Splitting up Rails Models to different databases

然後在 lib/tasks/dev.rake 裡寫 override db:create; db:drop 的 rake; 確保重建資料時一致

xdite 發表在 痞客邦 留言(0) 人氣()

可指定 asset_host 為 http://asset%d.example.com





Yehuda 在 WindyCindyRails 2009 分享的技巧。

xdite 發表在 痞客邦 留言(0) 人氣()

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

xdite 發表在 痞客邦 留言(1) 人氣()

因為 rmagick 在 MacOS 下實在太難裝了。於是有人寫了一支 script 來處理這種惱人的事。

http://github.com/maddox/magick-installer

xdite 發表在 痞客邦 留言(0) 人氣()

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.

xdite 發表在 痞客邦 留言(0) 人氣()

1 23