ps: 使用的hue版本为 hue-3.10.0

一.【jobbrowser刷流量】

基本一分钟刷新一次,执行GET /jobbrowser/

[17/Apr/2017 14:46:26 +0800] access       INFO     10.1.124.19 hue - "GET /jobbrowser/ HTTP/1.1"
[17/Apr/2017 14:47:23 +0800] access INFO 10.1.124.19 hue - "GET /jobbrowser/ HTTP/1.1"
[17/Apr/2017 14:48:20 +0800] access INFO 10.1.124.19 hue - "GET /jobbrowser/ HTTP/1.1"
[17/Apr/2017 14:49:20 +0800] access INFO 10.1.124.19 hue - "GET /jobbrowser/ HTTP/1.1"

使用浏览器自带的工具web开发者->网络 监控流量:

解决jobbrowser刷流量的问题:
修改$HUE_HOME/desktop/core/src/desktop/templates/common_header.mako,禁止掉自动刷新
 % if 'jobbrowser' in apps:
var JB_CHECK_INTERVAL_IN_MILLIS = 30000;
##Disable get jobs info recursively
##var checkJobBrowserStatusIdx = window.setTimeout(checkJobBrowserStatus, 10);

ps: 这个文件是如何找到的:查看页面源码,根据网络监控的url定位到源码,然后根据相关代码在项目的源码中搜索到:

二. 【js & css缓存】

先来看看每次打开hue的hive-editor刷新的流量有多少:

几百个js,一堆css和一些html,其中有很多大的Js,一个就有几百K,其中Js占流量的绝大多数,基本都没有缓存。解决的目标就是把没缓存的静态内容都缓存到用户浏览器上,这样第一次打开页面时下载一次,以后访问、刷新页面就不用重复从hue服务器上下载,只要在缓存有效期内即可,这样每次网络传输量小,刷新页面速度也快,hue服务器压力也小。

解决方案:

参考:Using NGINX to speed up Hue | Hue - Hadoop User Experience - The Apache Hadoop UI 。其实现原理就是增加一层nginx作为静态文件缓存服务器,nginx可为每个静态内容的http请求设置缓存策略和有效期。

添加nginx前&后的header对比:使用nginx后主要添加了Cache-Control:public 和 etag.

实现此方案后,每次刷新hive->editor页面只需70多K的流量。

ps: 关于浏览器缓存的几个设置:expire, etag, last-modified, cache-control, max-age的作用和关系,这篇文章讲得很透彻:浏览器缓存详解:expires,cache-control,last-modified,etag详细说明 - eros的linux平台技术资料库 - 博客频道 - CSDN.NET

hue耗流量优化的更多相关文章

  1. iOS截取http/https流量

    0x01.Why? 做移动测试的同学经常会在app和server中间架设一个代理(例如charles或者fiddler等),由经代理,app和server之间的交互及交互内容变得可视化,使得我们不再摸 ...

  2. Picasso 完美兼容 OkHttp3.3,缓存优化两不误

    Tamic 专注移动开发!更多文章请关注http://www.jianshu.com/p/6241950f9daf csdn: http://blog.csdn.net/sk719887916/art ...

  3. Android APP性能优化(最新总结)

    导语   安卓大军浩浩荡荡,发展已近十个年头,技术优化日异月新,如今Android 8.0 Oreo 都发布了,Android系统性能已经非常流畅了.但是,到了各大厂商手里,改源码自定系统,使得And ...

  4. Picaso完美兼容OkHttp3.3,缓存优化两不误 - Tamic Developer"s Blog

    为何在Fresco,Glide这么强大的背景下,我又想起了当初的Picasso,又为何写这篇文章?是因为最近项目采用了square公司的RxAndroid,Retrfit和OKhttp, 不得不联想到 ...

  5. IM应用中的优化

    以前做过IM应用中考虑过的一些关于应用优化的问题. 优化重心主要放在了电量优化和流量优化上: 电量优化 如何測试耗电量(前台耗电.后台耗电) 1.专用设备 2.性能相关的app 3.自己动手去写电量消 ...

  6. 高并发WEB网站优化方案

    一.什么是高并发在互联网时代,所讲的并发.高并发,通常是指并发访问,也就是在某个时间点,有多少个访问同时到来.比如,百度首页同时有1000个人访问,那么也就是并发为1000.通常一个系统的日PV在千万 ...

  7. PHP-高并发和大流量的解决方案

    一  高并发的概念在互联网时代,并发,高并发通常是指并发访问.也就是在某个时间点,有多少个访问同时到来. 二  高并发架构相关概念1.QPS (每秒查询率) : 每秒钟请求或者查询的数量,在互联网领域 ...

  8. 如何解决PHP的高并发和大流量的问题

    基础知识 TFS : 吞吐量 (吞吐量是指系统在单位时间内处理请求的数量) RT : 响应时间 (从请求发出到收到响应时间) 并发数 : 在一段时间内同时访问站点的用户数 QPS : 每秒查询率 (每 ...

  9. android app 流量统计

    https://blog.csdn.net/yzy9508/article/details/48300265 | android 数据流量统计 - CSDN博客https://blog.csdn.ne ...

随机推荐

  1. 【LOJ】#2672. 「NOI2012」魔幻棋盘

    题解 代码7.1KB,人傻代码长 恶心死我了这代码真的把我写恶心了= = 想一想就知道这个东西--维护到中心的差分,然后用二维线段树维护一下矩形的gcd 嗯,我说完了,你写吧. 首先这个二维线段树的单 ...

  2. ava包(package)的命名规范,java中package命名规则

    Java的包名都有小写单词组成,类名首字母大写:包的路径符合所开发的 系统模块的 定义,比如生产对生产,物资对物资,基础类对基础类.以便看了包名就明白是哪个模块,从而直接到对应包里找相应的实现. 由于 ...

  3. 8-1 binpacking uva1149(贪心)

    题意:给定N个物品的重量Li  背包的容量M 同时要求每个背包最多装两个物品 求至少要多少个背包才能装下所有物品 简单贪心  注意输出: #include<bits/stdc++.h> u ...

  4. 正规表达式 转 NFA C++

    今天来为大家分享一个编译原理中用正规表达式转NFA的小程序 正规表达式就是类似正则一样的式子,例如:(a|b)*abb,最后应该转化为: 大致的处理流程为: 例子中的表达式:(a|b)*abb,|和* ...

  5. ROT13 加密与解密

    ROT13简介: ROT13(回转13位)是一种简易的替换式密码算法.它是一种在英文网络论坛用作隐藏八卦.妙句.谜题解答以及某些脏话的工具,目的是逃过版主或管理员的匆匆一瞥.ROT13 也是过去在古罗 ...

  6. CentOS日志的简单介绍

    在CentOS7中,系统的日志消息由两个服务负责处理:system-journald和rsyslog. (1).常见的日志及作用 /var/log目录里存放了一些特定于系统和服务的日志文件,由rsys ...

  7. ActiveMQ (三):项目实践

    1. 简单项目demo Com.hoo.mq路径下(除了com.hoo.mq.spring)是普通java中使用activeMQ. Com.hoo.mq.spring路径下是非web环境spring集 ...

  8. CF961E Tufurama 主席树

    对原问题进行转化 考虑对每个$i$,询问在$j \in [i + 1, a[i]]$中满足$a[j] \geqslant i$的个数 这样子可以做到不重不漏 个数满足差分的性质,使用主席树来维护即可 ...

  9. Java_模拟comet的实现

    本文没有使用任何comet服务器, 只是利用tomcat模拟实现了一下comet, 不是真正的comet哦,因为不会有这样的应用场景, 只是模拟实现, 仅供参考. 一. 需求. 实现将服务端的时间推送 ...

  10. MySQL增强版命令行客户端连接工具(mycli)

    效果: 安装: http://www.mycli.net/install 官网: http://www.mycli.net/install