文档首页 > > 开发指南> 开发OpenTSDB应用> 性能调优

性能调优

分享
更新时间:2019/05/07 GMT+08:00

OpenTSDB服务的吞吐量可以通过扩容tsd节点数量来横向扩展,当前采用Round Robin DNS的机制来把应用端的请求均衡负载到不同的tsd节点。为了使应用端的http请求更加细粒度地均衡分发,可以优化应用端DNS域名解析缓存。

JVM优化

  • 代码中关闭JVM的DNS域名缓存,同时使用http连接池发送请求。
java.security.Security.setProperty("networkaddress.cache.ttl" , "0")
  private static CloseableHttpClient httpClient;
  static {
    PoolingHttpClientConnectionManager cm = new PoolingHttpClientConnectionManager();
    cm.setMaxTotal(200);
    cm.setDefaultMaxPerRoute(20);
    cm.setDefaultMaxPerRoute(50);
    httpClient = HttpClients.custom().setConnectionManager(cm).build();
  }
  • 代码中设置JVM的DNS域名缓存时间为1秒。
java.security.Security.setProperty("networkaddress.cache.ttl" , "1");
  • 如果需要考虑扩容后不重启应用能够识别出新的IP地址,可以考虑设置连接的TTL,但是对性能会有一点影响。
HttpClients.custom().setConnectionTimeToLive(600, TimeUnit.SECONDS);

OS优化

  • Linux操作系统关闭本地DNS域名解析缓存。检查/etc/init.d/目录下是否有nscd 或者 named 或者 dnsmasq,如果存在,分别执行如下命令关闭缓存。
    /etc/init.d/nscd stop
    /etc/init.d/named stop
    /etc/init.d/dnsmasq stop
  • Windows操作系统关闭本地DNS域名解析缓存。在cmd中执行如下命令。
    net stop dnscache
分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!非常感谢您的反馈,我们会继续努力做到更好!
反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

智能客服提问云社区提问