http://ruby-china.org/topics/6931 网站现在还没做任何 cache,刚看了下 GA,发现在首页打开平均时间居然 00:01:43
太吓人了~
大家支下招吧
你这个首页本来也没什么东西,平均时间这么高,八成是某地的网络不畅
http://api.map.baidu.com/api?v=1.3 首页加载这个干啥?
同 @ywencn , 首页全是 api.map.baidu.com 加载过久导致。
api.map.baidu.com
#2 楼 @ywencn #3 楼 @lyfi2003 应该是要得到用户的地址信息吧 我看登录进去后会有“离你最近”的这个
先找瓶颈再解决问题。不了解慢在哪里,加 cache 也不一定能命中。
如果是上面几位说的加载第三方服务慢,那就对那些内容进行异步化和延迟加载。
分析 Rails log 看看是那些 action 慢,然后再分析看是那个部分导致慢,接着尝试优化代码和数据库看是否能提上去,cache 不是用来加速的,而是用来解决搞访问量的时候,减少数据库和重复计算的
#3 楼 @lyfi2003 因为有些地方需要用到,在书和借出的页面需要地图,不过这些 JS 代码我都写在 JS 里面一起打包了,所以放在首页
#4 楼 @Tony612 地图主要是在书的详情页面和你发布图书会有,其实首页是不需要的
#6 楼 @huacnlee 我看了下,首页的显示的最新评论相当的耗时,是不是考虑对最新的评论最分块的 cache?还是怎么样?
#9 楼 @sanivbyfish 你把排序用 id 排列就快了 我猜测你最新评论的排序是用 created_at 倒序排列的,并且这个字段没加索引
#10 楼 @huacnlee 我现在是这样做的
<% post.comments.order_by("created_at DESC").each_with_index do |comment, index| %> <div class="convo attribution clearfix"><p><a href="<%= user_path(comment.user) %>" title="<%= comment.user.name %>" class="img x"><%= user_avatar_tag(comment.user, :style => "small") %></a><a href="<%= user_path(comment.user) %>" class="author x"><%= comment.user.name %></a> <%= comment.body %></p></div> <% break if index == 2 %> <% end %> <% end %>