前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >打点系统优化HTTP请求

打点系统优化HTTP请求

作者头像
jiewuyou
发布2022-09-29 17:49:28
3000
发布2022-09-29 17:49:28
举报
文章被收录于专栏:数据人生数据人生

为更好的理解用户,互联网公司会将用户的行为收集上来进行分析,打点系统应运而生。但互联网公司的用户数都比较多,而且每个用户的行为也很多,这样服务器收到的打点请求就非常多,QPS非常高,对web服务器的要求也会非常之高。为提升整个打点系统的性能,可以采用以下几个方式。

减少打点的次数

常规的方案是将多个行为事件合并后上传,以减少单个客户端的上报次数,这会导致一个事件触发后,事件没有及时上传,从而影响上报率。该方法是在上报率和服务器资源之间的一种折中方案。根据需要,可以根据事件的优先级,分不同的打包策略和上传策略。优先级高的行为,尽量一发生就生成包上传。优先级低的行为,可以将多个行为合并后上传,然后服务端基于统计学的原理来分析数据

使用长连接通道

使用长连接通道可以减少客户端和服务端之间的HTTP握手次数,以此减少服务器的负载,该方法适合用户使用时间长的场景。

优化NGINX和web服务器之间的连接

部分打点系统在qps高的时候丢失数据,为解决该问题,我们经常采用加服务器的方法。后面运维在nginx调整了一个参数,让nginx和下游web服务保持长连接,一下将web服务的CPU负载降了下来,提高了单台web服务的负载能力。

避免流量尖峰的出现

带宽、服务器数目等资源往往是由QPS的最高值决定的,而不是平均值决定的。为保证服务可用性,当打点的峰值在10万QPS时,系统就必须保证整个服务能撑起10万的QPS,否则服务的可用性就比较差。为了减少流量尖峰的影响,在设计系统的时候就要尽量避免。如果当时没避免,后面也可以通过观察打点服务的QPS曲线,找到QPS出现尖峰的时候,分析QPS高的原因,看是否可以想办法在业务逻辑上避免,或者在尖峰时刻给每个客户端打点加个随机的延迟,以将尖峰销平。

以上优化打点的方式是我们在工作采用的常规方案,灵活应用的话,可节约一大笔服务器费用。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-03-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 减少打点的次数
  • 使用长连接通道
  • 优化NGINX和web服务器之间的连接
  • 避免流量尖峰的出现
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档