最近我服务器相应变得非常慢,以下是log:
Processing HomepageController#iphone to xml (for 123.150.158.147 at 2012-06-29 07:59:37) [GET]
User Columns (12.6ms) SHOW FIELDS FROM `users`
User Load (4758.7ms) SELECT * FROM `users` WHERE (`users`.`id` IS NULL) LIMIT 1
Cached fragment hit: views/www.xxx.com/homepage/iphone.xml (26.4ms)
Filter chain halted as [#<ActionController::Filters::AroundFilter:0xb7771b10 @kind=:filter, @options={:unless=>nil,

nly=>#<Set: {"iphone"}>, :if=>nil}, @identifier=nil, @method=#<Proc:0xb7aa8bf8@/usr/local/rvm/gems/ruby-1.8.7-p352/gems/actionpack-2.3.4/lib/action_controller/caching/actions.rb:64>>] did_not_yield.
Completed in 4870ms (View: 9, DB: 4777) | 200 OK [http://www.xxxcom/homepage/iphone.xml]
我不知道为什么DB用了4777ms。。。。请问这个怎么查为什么?并不是所有请求都是这样的,就是有些请求会特别长。
另外:有些log是这样的:
Processing ProductsController#index to xml (for 222.134.168.129 at 2012-06-29 08:05:53) [GET]
Parameters: {"page"=>"1", "page_size"=>"15"}
User Load (0.7ms) SELECT * FROM `users` WHERE (`users`.`id` IS NULL) LIMIT 1
Cached fragment hit: views/www.xxx.com/products.xml?page=1&page_size=15.xml (3.8ms)
Filter chain halted as [#<ActionController::Filters::AroundFilter:0xb77478ec @kind=:filter, @options={:unless=>nil,

nly=>#<Set: {"index"}>, :if=>nil}, @identifier=nil, @method=#<Proc:0xb7aa8bf8@/usr/local/rvm/gems/ruby-1.8.7-p352/gems/actionpack-2.3.4/lib/action_controller/caching/actions.rb:64>>] did_not_yield.
Completed in 35ms (View: 1, DB: 1) | 200 OK [http://www.xxx.com/products.xml?page=1&page_size=15]
请问这35ms占用了啥?我看出来cache hit用了3.8,view和DB都用了1?,那怎么会要35ms?
谢谢!
相关推荐
综上所述,Rails Cache 是Ruby on Rails中提升性能的关键工具,涵盖动作缓存、片段缓存、页面缓存和低级别缓存API等多个层面,配合不同的缓存存储后端和失效策略,为开发者提供了强大的性能优化手段。在使用过程中,...
在Ruby on Rails应用程序中,服务器时间标头是一个重要的性能监控工具。它允许开发者了解服务器处理请求所需的时间,从而帮助优化应用程序的性能。Rails框架默认并未开启服务器时间标头,但可以通过一些配置或第三方...
rails server命令启动web服务器的默认端口号为3000,当然我们也可以自定义指定端口号。
为了运行和测试应用,你需要在命令行中使用Rails服务器。在Aptana中,可以使用内置的终端工具。打开“Terminal”视图,输入`rails server`启动服务器,然后在浏览器中访问`http://localhost:3000`查看你的应用。 在...
4. 会话共享:当应用部署在多台服务器上时,如何保证用户的会话信息在服务器间同步变得尤为重要。可以使用Redis、Memcached等缓存系统来实现会话信息的共享。 5. 故障转移与自动恢复:高可用配置还包括了故障转移的...
chef-rails, 厨房设置一个可以与 Nginx 和 Rails 一起滚动的Ubuntu服务器 主厨 rails安装一个准备为 Ruby on Rails 栈准备的Ubuntu服务器:NginxPostgreSQLRedisMemcached带RVM的rubyPhusion乘客独立要求Ubuntu ...
### Ruby on Rails Guides v2 - Ruby on Rails 4.2.5 #### 一、重要概念及基础假设 - **重要概念**:本指南旨在帮助...随着对Rails的深入了解,你将会发现更多高级特性和应用场景,为实际项目开发提供更多可能性。
Rails3 是 Ruby on Rails 框架的一个版本,它提供了一系列强大的命令行工具,使得开发者可以快速地构建和管理Web应用。在本文中,我们将深入探讨Rails3中的常用命令,帮助你更高效地进行开发工作。 首先,新建一个...
- 使用命令`rails new forum --database=mysql`创建名为“forum”的项目,并指定使用MySQL作为数据库。此命令会自动在当前目录下创建一系列必要的文件夹和文件,包括但不限于: - `app`: 包含控制器、模型、视图等...
在Ubuntu服务器上搭建Rails生产环境是一项关键的任务,它涉及到多个步骤和组件的配置。Rails是Ruby的一个框架,用于构建Web应用程序。在这个过程中,我们将主要关注以下几个核心知识点: 1. **Ruby 安装**:首先,...
《使用RVM、Nginx和Passenger配置Rails服务器详解》 配置Rails服务器是一个关键步骤,特别是对于那些希望部署Web应用程序的人来说。在这个过程中,RVM(Ruby Version Manager)、Nginx和Passenger扮演着核心角色。...
在Rails中使用SSL(安全套接层)是构建Web应用时确保数据传输安全的重要步骤。Rails框架支持在应用程序中轻松集成SSL,以保护用户敏感信息,如登录凭据和支付详情。以下是一些关于在Rails中实施SSL的关键知识点: 1...
6. **启动Rails服务器**:使用`rails server`或简写`rails s`命令启动本地开发服务器。默认情况下,服务器会在http://localhost:3000/上运行。 7. **运行测试**:Rails项目通常包含测试套件,可以使用`rake test`或...
Ruby on Rails,通常简称为Rails,是一个基于Ruby编程语言的开源Web应用框架,遵循MVC(Model-View-Controller)架构模式。这个“Rails项目源代码”是一个使用Rails构建的图片分享网站的完整源代码,它揭示了如何...
在Rails 2.2.3时代,社区已经发展出很多插件和 gems(Ruby的扩展库),如Devise用于身份验证,CanCanCan进行授权管理,Paperclip或Carrierwave处理文件上传等。虽然这些可能需要适配老版本,但它们能极大地增强你的...
Rails是Ruby语言的一个著名Web开发框架,全称为Ruby on Rails,它遵循MVC(Model-View-Controller)架构模式,旨在提高开发效率和代码可读性。本示例"rails项目起步示例"是一个购物系统,非常适合初学者入门学习。 ...
基本的组件包括Ruby语言环境、Ruby的包管理工具gem、Rails框架本身以及一个Web服务器,这里以Mongrel为例。 **知识点1:Ruby安装** Ruby是整个Ruby on Rails开发环境的核心,安装过程相对简单。首先,我们需要下载...