html - Rails、Webrick 或 PostgreSQL 有问题吗?数据库查询后生成格式错误的 HTML

标签 html ruby-on-rails ruby-on-rails-3 postgresql webrick

我在带有 PostgreSQL 8.4 和 WEBrick 的 Ubuntu 上运行 Rails 3。

它一直运行良好,但是当显示一个大表(数百行)时,出现了问题。浏览器显示页面仍在加载,但看起来查询结果被截断或 Rails 出现故障。日志或控制台中没有错误。

下面的第 8 行是格式错误的 HTML。它出现在表的第 140 行附近。但它会在下面的行之后继续显示更多行。

<tr class="from_hc"> 
  <td class="date_and_time">Jul 13, 2011 11:00 AM</td> 
  <td class="name">Kim Orange</td> 
  <td>PHYSICAL_ACTIVITY</td> 
  <td>text text</td> 
  <td>ok</td> 
  <td></td> 
  <td><a href="/messag/a></td>
</tr>
<tr class="from_hc"> 
  <td class="date_and_time">Jul 13, 2011 11:00 AM</td> 
  <td class="name">Tom White</td> 
  <td>PHYSICAL_ACTIVITY</td> 
  <td>text text</td> 
  <td>ok</td> 
  <td></td> 
  <td><a href="/messages/260/edit">Edit</a></td> 
</tr>

是不是返回的行数有问题?是否需要在 Rails、PostgreSQL 或 WEBrick 中设置配置?这可能是 SSL 的问题吗?什么可能导致这种情况?

相同的代码和表在 Heroku 上工作正常,所以我想知道这是否是 WEBrick 配置问题...

我增加了 Postgres 的“shared_memory”,但没有帮助。

谢谢!!!

最佳答案

您很可能遇到响应时间超时或内存/服务器资源限制。

您永远不应该在任何应用程序中真正返回大量数据,更不用说网络应用程序,因为数据变得完全没有意义。 如果这是一个 View ,那么使用分页,这样一次只处理少量数据(人们只是无法理解那么多记录)

如果你需要这个来进行一些统计分析,那么运行一个后台任务(也许是 rake 任务?)来收集数据,分析它并输出一个简单的单一记录,其中包含所有计算的统计数据

如果这是某种提要或导出功能,那么最好的解决方案是 rake 任务中的后台作业,该作业将生成最终的 xml 文档文件,该文件存储为 Assets ,可以在适当的时间由您的应用程序提供

除了避免让用户坐着盯着显示器长时间等待之外,您还面临着占用服务器的危险,其他访问者的响应时间将急剧下降。

这是非常糟糕的做法。它花费金钱和时间。您(带宽和服务器资源)和您的访问者都必须等待更长的时间(时间就是金钱),如果在云上按 MB 主机付费,您将获得更大的托管费用,所以我强烈建议您改变您的方法。

根据经验,做谷歌做的事,每页提供 10 个结果(有多少冲浪者在搜索结果中超过第 10 页?)

关于html - Rails、Webrick 或 PostgreSQL 有问题吗?数据库查询后生成格式错误的 HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6739469/

相关文章:

ruby-on-rails - 将参数传递给葡萄实体模块

ruby-on-rails - 如何在 Rails 中测试任意路由?

ruby-on-rails - 如何在 Rails 3 link_to 语句中包含完整路径?

database - 无法在 RoR 3 的数据库中存储大字符串

html - Bootstrap 弹出窗口中的组按钮

html - 我想了解溢出:hidden and display:inline-block is used here的确切原因

javascript - 当我已经定义变量时,为什么控制台会记录变量未定义的错误?

html - 为什么在 css 文件 (VSCode) 中我不能将所有需要的样式放在同一组中

ruby-on-rails - 想要使用 nokogiri 解析 ruby​​ on Rails 中的 href

mysql - Ruby mysql gem 错误