流量暴增


流量暴增

  • 问题描述

这几天发现访问国外服务器速度巨慢,监控流量发现已经达到200M/s

1
iftop -i eth0

看来是带宽被占用导致的访问速度慢,初步想到的解决方案有:

a. 增加个网卡,让业务服和数据服之间的数据传递通过新网卡来传。

优点是解决问题速度快,且不用动业务,只需要改访问数据服的配置即可;缺点是治标不治本,最终还是要解决流量太大的问题。目前先采用这个解决方案,让业务不受影响地临时解决流量问题,后面再排查逐步解决本质问题。

b. 查出流量暴增的关键点,并优化解决,并排查其他业务类似隐患。

查看版本日志,发现最近增加了数据埋点,用于运营人员分析用户行为。review代码发现由于用户量大,埋点代码查询用户数据返回了太多用不到的数据,且未分类和过滤用户数据,进行了全用户跟踪。

解决方案有:

1
2
3
4
5
查询只返回必要的字段,其他业务也同步排查同类问题。

业务服增加缓存,保存同步用户关键数据供业务使用,减少与数据服直接的数据传输,但要关注缓存的击穿和避免雪崩等问题,需要认真分析设计,实际验证和上线的平滑过渡。避免影响用户的正常使用。

数据服的横向扩展等

c. 打点业务连接单独的分析数据服,与业务使用的数据服分开。

这个方案比较简单,只需连接不同数据服即可。