Top Banner
Performance tips in rails development [email protected]
22

Performance Tips In Rails Development

Jan 15, 2015

Download

Technology

qtlove

 
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Performance Tips In Rails Development

Performance tips in rails development

[email protected]

Page 2: Performance Tips In Rails Development

 

 

Page 3: Performance Tips In Rails Development

select *

•temporary table• :select•belongs_to, has_many

Page 4: Performance Tips In Rails Development

 

 

Page 5: Performance Tips In Rails Development

text, blob

•blogs: id, title, content• temporary table•blogs: id, title, content_id

contents: id, content•memcached

Page 6: Performance Tips In Rails Development

 

 

Page 7: Performance Tips In Rails Development

db:migrate

•t.column "title", :string•varchar(255)• :limit

Page 8: Performance Tips In Rails Development

 

 

Page 9: Performance Tips In Rails Development

update• @article.update_attributes(params[:article])• @article.update_attributes(:title =>

"#{params[:article][:title]}", :author => "#{params[:article][:author]}")

Page 10: Performance Tips In Rails Development

 

 

Page 11: Performance Tips In Rails Development

join• :include, :joins• mysql> SELECT * FROM tag

-> JOIN tag_post ON tag_post.tag_id=tag.id-> JOIN post ON tag_post.post_id=post.id-> WHERE tag.tag='mysql';mysql> SELECT * FROM tag WHERE tag='mysql';mysql> SELECT * FROM tag_post WHERE tag_id=1234;mysql> SELECT * FROM post WHERE post.id in (123,456,567,9098,8904);

• High.Performance.MySQL.Second.Edition, p159

Page 12: Performance Tips In Rails Development

 

 

Page 13: Performance Tips In Rails Development

IN vs OR• SELECT *

FROM wp_postsWHERE post_author IN ( 1, 2, 3, 4, 5, 6, 7, 8, 9 )

• SELECT *FROM wp_postsWHERE post_author = 1 OR post_author = 2 OR post_author = 3 OR post_author = 4 OR post_author = 5 OR post_author = 6 OR post_author = 7 OR post_author = 8 OR post_author = 9

• http://www.webmastersbydesign.com/2008/07/13/sql-speed-test-in-vs-or/

Page 14: Performance Tips In Rails Development

 

 

Page 15: Performance Tips In Rails Development

helpers

• link_to, url_for

Page 16: Performance Tips In Rails Development

 

 

Page 17: Performance Tips In Rails Development

session store

•file•db•memcached•CookieStore, Rails 2.0

http://izumi.plan99.net/blog/index.php/2007/11/25/rails-20-cookie-session-store-and-security/

Page 18: Performance Tips In Rails Development

 

 

Page 19: Performance Tips In Rails Development

memcached

•memcache-client•cache_fu•cache-money, Write-Through

http://github.com/nkallen/cache-money/tree/master

•key

Page 20: Performance Tips In Rails Development

 

 

Page 21: Performance Tips In Rails Development

Tools• newrelic_rpm• request-log-analyzer

http://github.com/wvanbergen/request-log-analyzer/tree/master

• rawkhttp://rubyforge.org/projects/rawk-the-logs/

• railsbenchhttp://rubyforge.org/projects/railsbench

Page 22: Performance Tips In Rails Development

THANK YOU :)