如何进行rails性能优化
2016-03-15 10:19
357 查看
在ruby on rails(http://www.maiziedu.com/course/ruby-px/)中,很多rails程序员会经常忘记考虑性能问题,这会导致网站速度下降,内存占用剧增,Apache频频重启,所以这时就需要进行rails性能优化。具体的优化内容如下:
1,使用Unicorn或者Thin服务器替代默认的webrick。
2,静态资源压缩合并,放到云存储上。
3,同时可以使用rails的Turbolinks,使用js替换title和body,但也带来了js逻辑的变化。
4,Active Record Associations预加载,includes或者preload,避免n+1问题
5,缓存。页面缓存、方法缓存以及俄罗斯套娃。
一,前端优化
1,asset pipeline:合并压缩静态文件
2,Turbolinks:利用浏览器的PushState和ajax,得到响应时替换掉body和title元素。这样不需要重新加载执行css文件和js文件,同时也增加了页面的复杂度。
3,静态文件镜像存储:将静态文件存储在第三方中,比如七牛之类的云存储,利用第三方的速度优势,同时也减少了自己服务器的压力。
4,增加并发请求数:多域名加速访问,以及减少携带不必要的cookie。
二,服务器优化。
1,替换默认的webrick。
1,使用Unicorn或者Thin服务器替代默认的webrick。
2,静态资源压缩合并,放到云存储上。
3,同时可以使用rails的Turbolinks,使用js替换title和body,但也带来了js逻辑的变化。
4,Active Record Associations预加载,includes或者preload,避免n+1问题
5,缓存。页面缓存、方法缓存以及俄罗斯套娃。
一,前端优化
1,asset pipeline:合并压缩静态文件
2,Turbolinks:利用浏览器的PushState和ajax,得到响应时替换掉body和title元素。这样不需要重新加载执行css文件和js文件,同时也增加了页面的复杂度。
3,静态文件镜像存储:将静态文件存储在第三方中,比如七牛之类的云存储,利用第三方的速度优势,同时也减少了自己服务器的压力。
4,增加并发请求数:多域名加速访问,以及减少携带不必要的cookie。
二,服务器优化。
1,替换默认的webrick。
相关文章推荐
- time_wait和close_wait状态
- <interface declaration>, <parcelable declaration>, AidlTokenType.import or AidlTokenType.package ...
- LeetCode: Container With Most Water
- leetcode 217. Contains Duplicate
- Android Volley完全解析(二),使用Volley加载网络图片 转载:http://blog.csdn.net/guolin_blog/article/details/174
- Android Volley完全解析(一),初识Volley的基本用法 转载地址:http://blog.csdn.net/guolin_blog/article/details/17482095
- air jordan shoes jordan new shoes
- 人机大战输赢不重要!重要的是说人话
- Time.timeScale 对 协程WaitForSeconds的影响
- LeetCode #11 Container With Most Water 最大容器 解题小节
- #345 Div2 B. Beautiful Paintings
- 在 Windows 上遇到非常多 TIME_WAIT 連線時應如何處理
- 服务器TIME_WAIT和CLOSE_WAIT详解和解决办法
- 我的人工智能学习之路(1)
- CLOSE_WAIT状态的原因与解决方法
- HDU 2674 N!Again (数论)
- 深度学习之google deepmind的alphago AI人工智能算法技术演变历程
- What does 'if __name__=='__main__' do
- poj3250Bad Hair Day(单调栈)
- leetcode 70. Climbing Stairs