线程未作同步锁机制处理引起系统性能问题

上一篇 / 下一篇  2014-05-27 16:50:17 / 个人分类:性能

线程未作同步锁机制处理引起系统性能问题

1、 项目简介

移动要求DSMP(移动数据业务管理平台)在后续升级过程中要做到不中断业务,基于此,开发了相关子系统来辅助满足该要求,其中对于与1862(主要负责数据业务短信下发及点播二次确认等)相关消息,提供了一个1862中间代理程序来做到不中断业务升级

21862中间代理程序主要功能简介

        通过配置方式实现,对于在配置文件中的号码则转发至新升级版本的集群环境进行业务处理,对于不在配置文件中的号码则依然由升级前集群环境负责业务处理

3、 性能问题

1862中间代理程序负责接收1862发送的长连接请求,并将请求透传至业务后置机进行实际业务处理,通过LR模拟1862向该中间代理发起长连接请求,发现中间代理程序无法处理多个tcp socket长连接请求,一旦连接数在2个或以上,则代理程序处理报错

4、 问题解决

经过与开发人员共同分析排查日志及代码、发现系代码实现问题,因1862代理一方面负责接收1862请求,另一方面负责透传并发送请求至业务后置机,接收请求由接收线程池负责处理,透传并发送请求由发送线程池负责处理,而两组线程池需对同一个共享区做写处理和读处理,因代码中未做线程同步锁机制处理以及相关逻辑判断,导致读写出现错误,引起系统处理报错,通过增加线程同步锁机制以及相关逻辑判断后,1862中间代理可接受多个tcp socket长连接请求并正确处理。


TAG:

 

评分:0

我来说两句

我的栏目

日历

« 2024-05-04  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

  • 访问量: 1845
  • 日志数: 1
  • 建立时间: 2007-11-17
  • 更新时间: 2014-05-27

RSS订阅

Open Toolbar