上篇中,我们谈到了Google Urchin系统优化部分,本篇我们谈谈如何从业务应用端进行Google Urchin优化。业务节点优化分为两部分,一是用户权限优化,二是配置文件优化。

一、用户权限优化

用户权限是用户从客户端查看Google Urchin数据的基础,用户使用数量过多会直接影响Urchin的使用效率,而且影响效果直接、明显。举个栗子,假如我们有100个配置文件,其中有50人有查看权限,平均每个用户可以查看10个文件,每个用户在查看每个配置文件时平均消耗50M内存(消耗的内存会根据用户查看的内容不同而变化,峰值时(用户查看全站多月数据)内存可能会消耗高达300M/每用户每配置文件)。

情况一
假设其中10人,同时在线查看自己权限内所有的配置文件,那内存消耗量为:10(人数)*50(单位内存消耗量)*10(配置文件数)=5000 M =5 G。貌似这个内存占用量还可以接受。

情况二
假设其中30人,同时在线查看自己权限内所有的配置文件,那内存消耗量为:30(人数)*50(单位内存消耗量)*10(配置文件数)=15000 M =15 G。貌似这个内存占用量也不大(一般的服务器级别的内存都是32G以上)。

情况三
假设其中50人,同时在线查看自己权限内所有的配置文件,那内存消耗量为:50(人数)*50(单位内存消耗量)*10(配置文件数)=25000 M =25 G。

这下问题就来了。要知道,这只是查看Google Urchin时消耗的内存,除此之外,我们还有每小时在跑的配置文件、数据库系统、Win自身系统以及其他各种应用软件和程序,这对于一个32G内存的服务器来说,简直就是灾难。如图:由于查看人数过多导致的服务器内存占用率过高,造成系统响应问题。

Google Urchin服务器高内存占用率

 

大家可能会问,实际上这种情况真有这么严重?

以我的经验完全可以肯定的回答:有。

其一:这种情况经常发生在月初、周一。因为各个业务模块都会在月初做上月总结报告,周一做上周总结报告,因此当大家都集中在这个时间进行数据查询时,堵塞就发生了。

其二:大型公司不会只有几十人有查看权限,我们拿经理级的来说,每个大渠道、大品类、大产品经理、技术经理、工程师都得有权限,上面的总监、VP有权限,下面的业务执行人员更需要权限,因为他们是业务的制定者。所以算起来实际中使用的人通常会高达百人。为了避免这种事情发生,以下方法是行之有效的:

  • 首先,控制每个配置文件查看权限人数;
  • 其次,让各业务节点养成平日查看数据的习惯。这条说起来容易,落实起来很难,因为平日没事大家都可能懒得去看。所以我们需要一点措施来保障——每个配置文件只保留最近1个月或两个月数据,其他数据移除做备份,由于Google Urchin是以月为单位进行数据存储的,所以我们只能保留到月(注意,尽量不要删除,虽然以后可以再跑,但需要很长时间补充以前删除的数据),这样就逼迫各业务节点必须在平日查看和收集数据,不然就没有数据可看。
  • 第三,当出现系统响应问题时,及时停止占用内存高的会话。这个虽然不是根本办法,确实有效的办法。
二、配置文件优化

配置文件优化与用户权限优化是相辅相成的,优化的重点是控制配置文件数量合理增长。配置文件对Google Urchin系统响应速度的影响表现在以下几个方面:

1.用户查看配置文件时造成内存占用。这个在上面的用户权限优化中已经阐述。

2.每个配置文件占用硬盘空间,从而压缩其他配置文件的运行空间。

Google Urchin优化——业务节点篇经过测算,平均每1万的访问量,会生成20~30 M的分析日志,假如一天有100万人访问,那么每天全站的分析日志数据将有2~3 G,注意,这只是理想的情况,如果网站中有大量的虚拟页面而且分析日志中需要查看该数据,那占用空间将翻倍增加。这样一个流量100万的网站,平均每个月会产生60~90 G的分析日志(其中排除虚拟页面)。

这里计算的仅仅是一个配置文件,网站不可能只有一个文件,根据权限管理、信息管理的规则,最起码得细分到大区、大区城市、大渠道、小渠道、采销大品类、采销小品类、网站频道、页面…这会有多少?对于一个流量达到100万的网站来讲,配置文件数应该不会低于200个!

我们再做个理想假设,除了全站的配置文件,其他的配置文件的数据总量恰好加起来等于全站的总数据,那么每个月这些分析数据总量有120~180G,一个1 T的硬盘能支持多久?——5~8个月。如果硬盘满了,在运行的分析数据的存储就会出现问题(因为没地方存储)。当然我们都会做日常性检查,不会等到硬盘满了才想办法。如果硬盘满了,删除配置文件和数据是下策,数据压缩是上策。分析后的数据压缩比例高达1:15,这意味着一个1T的硬盘可以放15T的分析数据。

 

这两篇文章主要总结了Google Urchin中优化的重点,另外,还有一些重要因素,如并行运行数量、每个配置文件中目标设置、数据库内存使用情况配置、系统软硬件环境等都会影响Urchin系统运行效率,但在一定条件下都不是主要因素,希望这些能对大家工作和学习有所帮助。



除非注明,本博客文章均为 数据研究与商业应用(TonySong) 原创.
转载请注明本文地址: http://www.searchmarketingart.com/urchin-user-and-profile-optimization.html