答 1
git revert <commit>
就行了,否则就要手工 revert测吞吐量用这个
ab -c 并发数 -n 请求次数 地址
楼主觉得做网站没有技术含量?
两个表。
换个适合自己的键盘。
{{ site.baseurl }}/path/to/assets
baseurl 设置在 _config.yml,不同站点用不同的设置。
#2 楼 @PrideChung 这可是很正经的!
as_bs
Basecamp 是用轮询。
<% cache @todolist do %> <!-- level 1 -->
<% @todolist.todos.each do |todo| %>
<% cache todo do %> <!-- level 2 -->
<div class="todo">
<b><%= todo.user.name %></b>
<%= todo.content %>
</div>
<% end %>
<% end %>
<% end %>
includes
不是魔法,看看 logger 它是通过什么查询语句实现的。
#3 楼 @lukefan 由于不知道你的内容怎么展示,我用 post 为例
<% @posts.each do |post| %>
<div class="post">
<b><%= post.user.name %></b>
<%= format_post psot.content %>
</div>
<% end %>
这里优化方法不是在 @posts
查询 includes(:user),而是应该加上片段缓存
<% @posts.each do |post| %>
<% cache post do %>
<div class="post">
<b><%= post.user.name %></b>
<%= format_post psot.content %>
</div>
<% end %>
<% end %>
这样每次只要查询 @posts
,虽然 post
内容在渲染时候需要查询 user
,但之后就会缓存起来。反而,如果用了 includes,无论有没有缓存,每次查询 @posts
的时候都要查 user
,这是不必要的消耗。
includes
对关系数据库有用,比如 todolists has_many todos,展示 todolists 内容的时候总是需要查询 todos 的,用 includes
可以用 join
把两次查询合成一次,但 mongodb 没有 join,所以没有什么意义。
去掉 include,父级元素片段缓存。
哈哈哈,文末推荐我的博客,然后我的博客推荐官方文档,形成循环。
Agile Web Development with Rails & Programing Ruby
简称两本红宝书。
Sound Only 最屌。
#8 楼 @moliliang 两个方面入手: