原文:http://www.iteye.com/topic/97287
统计网站的访问量有很多专业的第三方工具,例如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
/* 我用的是自己写的logger.info的内容统计的 */
打印日志文件,挑选正确处理的请求行,统计行数,一条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命令搞定。
分享到:
相关推荐
在本文中,我们将探讨一些RoR性能优化的关键方面,主要基于JavaEye网站在使用RoR过程中积累的实际经验。 首先,RoR性能优化涉及到多个层面,包括应用程序的部署、服务器配置以及代码优化。在部署方面,操作系统的...
NULL 博文链接:https://xuxiangpan888.iteye.com/blog/266696
2. **ActiveRecord**:RoR的数据访问层,它将数据库操作与对象模型绑定,提供了ORM(Object-Relational Mapping)功能。 3. **路由**:Rails的路由系统将HTTP请求映射到特定的Controller和Action,定义了应用的URL...
许多知名网站如GitHub、Airbnb、Shopify等都基于Ruby on Rails构建,证明了其在高性能和可扩展性方面的优秀表现。 总结来说,Ruby on Rails提供了一种高效且优雅的Web开发方式,通过强大的工具和库,使得开发者能够...
例如,它规定了文件和目录的命名规范,以及如何组织代码,这样开发者可以更快速地开始项目,而不需要大量配置。 在源代码学习中,你可能会关注以下几个方面: 1. **路由(Routing)**:RoR的路由系统将URL映射到...
Ruby on Rails(简称RoR或Rails)是一种基于Ruby语言的开源Web应用框架,它遵循Model-View-Controller(MVC)架构模式,旨在提高开发效率并提供简洁、优雅的代码结构。"ror实例"可能指的是在学习或实践中,通过创建...
**神经网络Ror ResNet模型详解** 在深度学习领域,ResNet(残差网络)模型是具有里程碑意义的创新,由He et al.在2015年提出。该模型解决了深度神经网络训练中的梯度消失问题,允许构建非常深的网络结构。而“Ror”...
在Ruby on Rails(ROR)开发环境中,安装和配置正确的依赖包是至关重要的。这个压缩包包含了一系列用于ROR框架的基础组件,但不包括Ruby本身。让我们深入了解一下这些包的作用和重要性。 首先,`actionpack`是Rails...
基于RoR的博客系统,代码风格简单清晰,前后太完善,适合初学者。
为了简化配置流程,可以考虑使用XAMPP或WAMP这样的集成环境来快速搭建MySQL服务。 - **安装与配置**:安装MySQL后,还需要通过编辑`database.yml`文件来设置数据库连接信息,包括数据库名称、用户名、密码等。 ####...
2. **快速开发**:利用RoR的生产力优势,FreeMIS的开发周期相对较短,能够快速实现功能迭代。 3. **易用性**:RoR的模板引擎和视图层设计使得FreeMIS的用户界面友好,用户体验良好。 4. **社区支持**:RoR拥有庞大的...
- **课程性质**:本课程为为期五天的Ruby on Rails(简称RoR)入门级培训,适合初学者快速掌握RoR的基本概念和技术要点。 - **讲师信息**:由Peter Marklund开发并讲解,Peter是一位经验丰富的Ruby on Rails开发者。...
### ROR 文件的上传与下载:深入解析与实践 在Ruby on Rails(简称ROR)框架下,处理文件的上传与下载是一项常见的需求,尤其是在构建包含媒体内容的应用程序时。本文将基于给定的文件信息,详细阐述如何在Rails...
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 ...
Ruby on Rails,是基于Ruby编程语言的开源Web应用框架,它遵循MVC(Model-View-Controller)架构模式,极大地简化了Web应用的开发过程,尤其在快速原型开发和敏捷开发中表现出色。 在这个图书管理系统中,我们可以...
破解版本的JAR包,放到本地磁盘,ECLIPUS直接用,到JVM设置直接加 -noverify -javaagent:D:\javarebel.jar
在Ruby on Rails(RoR)框架中,开发者经常需要处理用户输入的数据,这通常涉及到文本编辑器的使用。"ror文本编辑插件"显然是一种专为Rails应用设计的工具,旨在提升用户在网页上编辑文本的体验。这个插件可能包含...
你需要下载适合你操作系统的Ruby版本,例如,对于Windows用户可以从Ruby官方网站下载安装包,而对于Linux或Mac用户,可以通过包管理器如apt-get、yum或brew进行安装。确保在安装过程中勾选添加Ruby到系统路径选项,...
"ror留言板程序"是一个基于Ruby on Rails框架开发的简单应用,它主要用于实现用户在网站上留言和查看他人留言的功能。Ruby on Rails(简称RoR)是用Ruby语言编写的开源Web应用程序框架,遵循MVC(Model-View-...