`
robbin
  • 浏览: 4820721 次
  • 性别: Icon_minigender_1
  • 来自: 上海
博客专栏
377a9ecd-1ea1-34ac-9530-9daa53bb2a7b
robbin谈管理
浏览量:137005
社区版块
存档分类
最新评论

如何快速统计RoR网站的访问量

    博客分类:
  • Ruby
阅读更多
统计网站的访问量有很多专业的第三方工具,例如Google Analytics,提供强大,而且详细的统计功能。当然,也许不是每个人都需要这么复杂而且操作麻烦的工具,如果你只是需要大概了解一下网站的访问量和访问URL的比例,那么让我们看看最简单最容易的统计工具:Unix Shell。

一个RoR网站的访问纪录,Web Server(Apache or lighttpd)会记录所有的访问请求,包括动态请求和静态请求,但大量图片,JS,CSS的请求对我们没有太大的统计价值,因此web server的日志参考价值就不大。

RoR会记录所有动态请求日志到log/production.log里面,我们要做的就是让RoR进行日志交换,每天产生一个新的日志文件。很简单,修改config/environment.rb
RAILS_DEFAULT_LOGGER = Logger.new("#{RAILS_ROOT}/log/#{RAILS_ENV}.log", "daily")

那么每天就会产生一个诸如production.log.20070702这样的日志文件。

一、统计每日动态请求处理总数

cat production.log.20070702|grep "200 OK"|wc -l 


打印日志文件,挑选正确处理的请求行,统计行数,一条shell命令就搞定了网站处理的动态请求数量。虽然动态请求数量不等于网站访问量,但是可以作为一个重要的参考指标。

二、统计URL的访问频度

网站管理员都很希望知道哪些频道受欢迎被访问的频繁,哪些URL格外受到关注,不必寻求专业的网站流量统计系统,一条shell命令就搞定了:

cat production.log.20070702 |grep "200 OK" | awk '{print $17}'|sort|uniq -c | sort -r -n > stat.log


打印日志文件,挑选正确处理请求行,把第17列即URL那一列挑出来,排序,统计唯一URL出现的次数,按照URL次数倒序输出到stat.log文件里面,让我们看看stat.log是什么:

  10096 [http://www.iteye.com/]
   3590 [http://www.iteye.com/forums/index]
   3446 [http://www.iteye.com/forums/board/Java]
   3300 [http://www.iteye.com/index/rss_index_topics]
   2477 [http://www.iteye.com/forums/board/Life]
   1605 [http://www.iteye.com/forums/board/AJAX]
   .........

网站首页被访问了10096次,论坛频道首页被访问了3590次,......

是不是很爽?我们用一条shell命令可以做简单的网站访问统计系统了。那么用Java做的系统,能不能这样统计呢?其实照样可以。你可以在tomcat的配置文件里面设置输出详细的日志信息,然后照样用shell命令搞定。

分享到:
评论
10 楼 wsapan 2008-07-02  
harryempire 写道
简单实用的好办法

我的处女贴
关注javaeye,好多年了
9 楼 msnvip 2007-11-12  
正准备做这块呢
学习ing....
8 楼 robbin 2007-07-19  
一个RoR网站的访问纪录,Web Server(Apache or lighttpd)会记录所有的访问请求,包括动态请求和静态请求,但大量图片,JS,CSS的请求对我们没有太大的统计价值,因此web server的日志参考价值就不大。
7 楼 mmwy 2007-07-19  
robbin前面用着lighttpd之类的,再装个cronolog,然后在配置里面写
accesslog.filename = |xxxx/cronolog-1.6.2/sbin/cronolog /xxx/access_%Y%m%d.log"
就可以轮循日志,没必要用ruby来生成日志吧?
6 楼 Suninny 2007-07-19  
有个rails plugin叫sitealizer
5 楼 harryempire 2007-07-19  
简单实用的好办法
4 楼 wtb 2007-07-12  
这些日志处理最强的工具就是shell下的awk,awk是个很好学的工具,编程语法类似C,处理速度极快,能力极强。据说很多windows系统管理员都用它来做日志分析。
3 楼 花花公子 2007-07-08  
grep是不用搭配cat打开文件的,shell编程确实很神奇
2 楼 geszJava 2007-07-06  
我喜欢这篇.
1 楼 shallwelin 2007-07-03  
robbin的文章可以归纳为一个系列了, 其中, 我比较喜欢有关部署的, 流量监测的, 很是受益.

相关推荐

    RoR性能优化经验谈

    在本文中,我们将探讨一些RoR性能优化的关键方面,主要基于JavaEye网站在使用RoR过程中积累的实际经验。 首先,RoR性能优化涉及到多个层面,包括应用程序的部署、服务器配置以及代码优化。在部署方面,操作系统的...

    ror

    NULL 博文链接:https://xuxiangpan888.iteye.com/blog/266696

    ror中文资料

    2. **ActiveRecord**:RoR的数据访问层,它将数据库操作与对象模型绑定,提供了ORM(Object-Relational Mapping)功能。 3. **路由**:Rails的路由系统将HTTP请求映射到特定的Controller和Action,定义了应用的URL...

    初探ROR

    许多知名网站如GitHub、Airbnb、Shopify等都基于Ruby on Rails构建,证明了其在高性能和可扩展性方面的优秀表现。 总结来说,Ruby on Rails提供了一种高效且优雅的Web开发方式,通过强大的工具和库,使得开发者能够...

    RoR选题方向—源代码

    例如,它规定了文件和目录的命名规范,以及如何组织代码,这样开发者可以更快速地开始项目,而不需要大量配置。 在源代码学习中,你可能会关注以下几个方面: 1. **路由(Routing)**:RoR的路由系统将URL映射到...

    ror实例

    Ruby on Rails(简称RoR或Rails)是一种基于Ruby语言的开源Web应用框架,它遵循Model-View-Controller(MVC)架构模式,旨在提高开发效率并提供简洁、优雅的代码结构。"ror实例"可能指的是在学习或实践中,通过创建...

    神经网络ror resenet模型

    **神经网络Ror ResNet模型详解** 在深度学习领域,ResNet(残差网络)模型是具有里程碑意义的创新,由He et al.在2015年提出。该模型解决了深度神经网络训练中的梯度消失问题,允许构建非常深的网络结构。而“Ror”...

    ROR安装必备所有架包

    在Ruby on Rails(ROR)开发环境中,安装和配置正确的依赖包是至关重要的。这个压缩包包含了一系列用于ROR框架的基础组件,但不包括Ruby本身。让我们深入了解一下这些包的作用和重要性。 首先,`actionpack`是Rails...

    RoRBlog 基于RoR的博客系统

    基于RoR的博客系统,代码风格简单清晰,前后太完善,适合初学者。

    Windows 上搭建 ROR环境

    为了简化配置流程,可以考虑使用XAMPP或WAMP这样的集成环境来快速搭建MySQL服务。 - **安装与配置**:安装MySQL后,还需要通过编辑`database.yml`文件来设置数据库连接信息,包括数据库名称、用户名、密码等。 ####...

    freemis 基于ror框架的mis

    2. **快速开发**:利用RoR的生产力优势,FreeMIS的开发周期相对较短,能够快速实现功能迭代。 3. **易用性**:RoR的模板引擎和视图层设计使得FreeMIS的用户界面友好,用户体验良好。 4. **社区支持**:RoR拥有庞大的...

    RoR 培训课程PPT

    - **课程性质**:本课程为为期五天的Ruby on Rails(简称RoR)入门级培训,适合初学者快速掌握RoR的基本概念和技术要点。 - **讲师信息**:由Peter Marklund开发并讲解,Peter是一位经验丰富的Ruby on Rails开发者。...

    ROR 文件的上传与下载

    ### ROR 文件的上传与下载:深入解析与实践 在Ruby on Rails(简称ROR)框架下,处理文件的上传与下载是一项常见的需求,尤其是在构建包含媒体内容的应用程序时。本文将基于给定的文件信息,详细阐述如何在Rails...

    ROR绿色最新环境(2013/3/10)

    ROR环境 Ruby version 1.9.3 (java) RubyGems version 1.8.24 Rack version 1.4 Rails version 3.2.12 JavaScript Runtime therubyrhino (Rhino) Active Record version 3.2.12 Action Pack version 3.2.12 ...

    机遇ROR 的图书管理系统

    Ruby on Rails,是基于Ruby编程语言的开源Web应用框架,它遵循MVC(Model-View-Controller)架构模式,极大地简化了Web应用的开发过程,尤其在快速原型开发和敏捷开发中表现出色。 在这个图书管理系统中,我们可以...

    javarebel 用JAVA和ROR一样方便测试

    破解版本的JAR包,放到本地磁盘,ECLIPUS直接用,到JVM设置直接加 -noverify -javaagent:D:\javarebel.jar

    ror文本编辑插件

    在Ruby on Rails(RoR)框架中,开发者经常需要处理用户输入的数据,这通常涉及到文本编辑器的使用。"ror文本编辑插件"显然是一种专为Rails应用设计的工具,旨在提升用户在网页上编辑文本的体验。这个插件可能包含...

    ROR环境配置

    你需要下载适合你操作系统的Ruby版本,例如,对于Windows用户可以从Ruby官方网站下载安装包,而对于Linux或Mac用户,可以通过包管理器如apt-get、yum或brew进行安装。确保在安装过程中勾选添加Ruby到系统路径选项,...

    ror留言板程序

    "ror留言板程序"是一个基于Ruby on Rails框架开发的简单应用,它主要用于实现用户在网站上留言和查看他人留言的功能。Ruby on Rails(简称RoR)是用Ruby语言编写的开源Web应用程序框架,遵循MVC(Model-View-...

Global site tag (gtag.js) - Google Analytics