visitrank

网站计数器
授权协议 GPL
开发语言 Java
所属分类 管理和监控、 日志分析和统计
软件类型 开源软件
地区 国产
投 递 者 宗政昱
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

适合站点使用的计数器,统计分析。

作者在oschina写了一篇博客:http://my.oschina.net/jianglibo/blog/215890

注意,只有out=wholesite的请求会将referer保存到数据库中,所以必须确保每个页面都存在这个请求。其它类型的out不会再次将referer保存到数据库中去。也就是说,同一张页面中,只要保证out=wholesite出现一次,其它类型可以多次出现。

性能

在目前的架构下,在仅仅实现目前功能的情况下,以下是用 apache jmeter 测试的结果。

由于运行 jmeter 机器的限制,只能采用 10000 并发,throughout:10000,即每秒钟完成 10000 个请求,运行2天产生16亿条记录。(36002410000*2)

作者用其它机器短时测试,并发 10000,throughout 基本也是10000。对于这个系统来说并发不是瓶颈,主要在于 mongodb的插入,如果请求的速度一直大于 mongodb 的插入,那么数据库的实时性会越来越远。在实际使用中,考虑到后半夜流量变小,mongodb 的插入速度会大于前端输入, 可能会达成平衡。(但不管怎么狡辩,这个瓶颈理论上是存在的。)

如何在自己的站点运行?

安装java 和 vertx之后,在命令行输入:vertx runmod com.m3958visitrank0.0.3 -conf -conf.json

conf.json可复制源文件内的内容,更多配置参数可查看源文件中的AppConstants.java

注意:机器必须联网,因为visitrank是从中央maven库中自动下载的。

用来统计站点的文章访问数,同时记录详细的客户端信息,包括ip,ua。引入的数据可以在后台通过mongodb的MapReduce或者hadoop分析处理。

 相关资料
  • 主要内容:使用 HttpSessionListener 和 HttpSessionAttributeListener 实现,使用 HttpSessionBindingListener 实现本节我们利用 Servlet 监听器接口,完成一个统计网站在线人数的案例。当一个用户登录后,显示欢迎信息,同时显示出当前在线人数和用户名单。当用户退出登录或 Session 过期时,从在线用户名单中删除该用户,同时将在线人数减 1。 本案例可以通过如下 2 种方案实现: 使用 HttpSessionListen

  • 找到默认主页入口 我们知道页面入口都是配置在路由中的,我们来看下app/config/routing.yml发现没有“/”的路由,但是我们发现了这么几句: app: resource: "@AppBundle/Controller/" type: annotation annotation的意思是“注解”,也就是说这一部分路由配置放在了注释里面,而资源在@AppBundl

  • 1. 站点已接入百度统计基础报告 您登录后可直接通过“百度统计”平台导航栏切换至“分析云”模块,申请免费试用分析云。 2. 站点尚未接入百度统计平台 百度统计分析云版的使用前提与基础报告相同,步骤为:开通帐户->添加站点->获取并安装代码->申请试用。 2.1 开通账户 您可前往百度统计官网(tongji.baidu.com)注册百度统计账户,账户分为站长版和客户版。 注:站长版面向广大站长用户,

  • 从技术角度上看,对于设置项目网站没有可以多说的:设置网站服务器并编写网页都是相当简单的任务,大多数需要说的重要事情如布局和安排已经在前面的章节提过。网站的主要功能是为项目提供一个清新和友好的概况,并组合其他工具(版本控制系统、bug跟踪系统等等)。如果你没有设置网站的技能,通常不难能找到有能力的人乐意帮助你。虽然如此,为了节省时间和工作量,人们通常会选择一个包装主机站点。 包装主机 使用包装站点有

  • 本文向大家介绍Java web网站访问量的统计,包括了Java web网站访问量的统计的使用技巧和注意事项,需要的朋友参考一下 当客户访问网站时就去读这个文件,将服务器重新启动前的计数读入,并在此基础上增加1,然后将新的计数写入到文件中。 参考代码如下: <html>  以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。

  • 创建一些文章 首先,为了能展示我们的效果,我们先在后台创建几篇文章,例如如下: 安装分页插件 列表性质的页面一般都需要做分页处理,这个工作要是让我们自己处理是十分繁琐的,所以我们利用symfony2的扩展knp-paginator-bundle。 修改app/AppKernel.php文件,增加如下注册语句: new Knp\Bundle\PaginatorBundle\KnpPaginator