Tag: 优化

Rails – 向另一台服务器发送多个http请求

1000个用户在同一时间向我的Rails服务器发出请求。 对于每个用户,我需要向其他服务器发出50个http请求,每个服务器需要1秒钟才能响应。 如何编写应用程序代码以便尽快响应用户? (注意:该应用尚未启动且数字是假设的。)

Rails如何优化我的网站?

我想让我的网站更快。 我知道我可以制作CSS精灵并压缩我的HTML和CSS。 还有其他方法可以优化我的页面速度吗? 这个页面就是一个例子: http : //www.vinderhimlen.dk/konkurrencer/vind-elektronik 加载共享按钮,评级星和Facebook喜欢它需要几秒钟。 我真的想要优化它。 我只是不认为最小化HTML和CSS就足够了。

Ruby和Java的速度

在我在网上找到的每个基准测试中,Ruby看起来很慢,比Java慢得多。 Ruby人员只是说没关系。 你能举个例子说Ruby on Rails(以及Ruby本身)的速度真的无关紧要吗?

你如何急切加载限制?

在热切加载的文档中,声明: 如果您急切地使用指定的:limit选项加载关联,它将被忽略,返回所有关联的对象: class Picture ‘Comment’, :order => ‘id DESC’, :limit => 10 end Picture.find(:first,:include =>:most_recent_comments).most_recent_comments#=>返回所有相关注释。 如果是这种情况,那么实现加载“限制”的最佳方法是什么? 假设我们急切地将最近10篇博客post加载到博客的首页上,我们显然不希望它们都是如此,那么是否应该指定post集合的限制和排序? 除此之外,可以在深度加载的元素上指定相同的条件 – 例如,仅在每篇博客文章中显示前三个评论吗? Blog.find(:blog_id, :include => {:posts => :comments } )

未使用的CSS – 你如何清理它?

可能任何有经验的Web开发人员都会熟悉这个问题:随着时间的推移,你的css文件会变得非常庞大和丑陋,因为所有不再使用的选择器,这可能是相当棘手的。 我正在研究一个我们倾向于经常重新设计东西的轨道项目,这导致了一吨无谓的CSS。 查找和删除它的最佳方法是什么? 现在,我知道有一个专门为此目的而构建的称为deadweight的rails插件。 但是,这是我的载重量问题:首先,它完全忽略了javascript中使用的选择器。 接下来,它仅扫描您将其配置为扫描的页面,这意味着可能会删除因您出于某种原因未扫描的页面上使用的内容。 最后,它只在编译的css中找到未使用的选择器(我们使用LESS) – 将这些与实际代码相匹配有点过于复杂。 我也试过http://unused-css.com/ – 它们很棒,但无法访问localhost,而且只能扫描已编译的CSS。 我真的认为必须有更好的方法来做到这一点。 实际上,前段时间我决定通过在整个项目目录中点击每个选择器来优化一个特定的css文件(emacs + rinari模式使它超级简单和超快),每次我都没有看到任何html或css在结果中我删除了样式。 零问题,就像一个魅力。 显然,我不会为整个网站这样做。 但是,我真的不相信这不能自动化。 现在,在我启动我的python并编写代码之前,任何人都可以告诉我,如果我要重新发明轮子吗?

counter_cache has_many_through sql optimization,减少sql查询次数

我如何优化我的SQL查询,忽略这样的情况: Meeting.find(5).users.size => SELECT COUNT(*)FROM … WHERE … User.find(123).meetings.size => SELECT COUNT(*)FROm … WHERE … 我不知道如何在这里使用counter_cache。 这是我的模型关系: class Meeting meeting_users end class User meeting_users end class Meeting_user < ActiveRecord::Base belongs_to :meeting belongs_to :user end 什么是最优解决方案? 如何在这里实现counter_cache?

Rails 3数据库索引和其他优化

我一直在构建rails应用程序,但不幸的是,我的应用程序都没有大量的数据或流量。 但现在我有一个正在获得动力。 因此,我首先考虑扩展和优化我的应用程序。 似乎第一个也是最简单的步骤是使用数据库索引。 我有一个很好的索引列表,应该涵盖几乎所有的查询,但当我通过迁移将它们添加到我的数据库时,它只需要几秒钟来添加它们。 出于某种原因,我认为他们必须经历我的所有条目(其中有数千条)并将它们编入索引。 这是否意味着我的索引尚未应用于我现有的数据? 它们只会被添加到新条目中吗? 此外,我正在研究其他扩展解决方案,例如memcached,以及减少我的查询等等。 如果有人能指出一些优秀的资源来优化我的rails 3 app我会非常感激! 谢谢! 编辑: 感谢关于数据库索引的所有好答案! 在优化和扩展我的应用程序方面,我还应该注意什么? Memcached的? 在优化方面,最佳性能提升/努力比是多少?

如何使用Rails gzip网页输出?

压缩我的网页输出的Rails最好的插件是什么? 编辑:我托管的公司已声明他们不会安装mod_deflate 。

如何从数组中获得优化选择

我有几个哈希数组(假设我有三个)如下: a = [{ cost: 10, value: 20}, { cost: 9, value: 20}, { cost: 10, value: 22}, { cost: 2, value: 10} ] b = [{ cost: 4, value: 20}, { cost: 9, value: 20}, { cost: 15, value: 22}, { cost: 12, value: 10} ] c = [{ cost: 10, value: 21}, { […]

加快csv导入

我想导入大量的cvs数据(不是直接导入AR,但经过一些提取后),而且我的代码非常慢。 def csv_import require ‘csv’ file = File.open(“/#{Rails.public_path}/uploads/shate.csv”) csv = CSV.open(file, “r:ISO-8859-15:UTF-8”, {:col_sep => “;”, :row_sep => :auto, :headers => :first_row}) csv.each do |row| #ename,esupp= row[1].split(/_/) #(ename,esupp,foo) = row[1]..split(‘_’) abrakadabra = row[0].to_s() (ename,esupp) = abrakadabra.split(/_/) eprice = row[6] eqnt = row[1] # logger.info(“1) “) # logger.info(ename) # logger.info(“—“) # logger.info(esupp) #—- #ename = row[4] #eprice […]