并发处理解决方案

来源:互联网 发布:qq大数据微报告 编辑:程序博客网 时间:2024/05/21 08:41

并发处理解决方案

 

 

做过海量数据接入的系统,想必都曾为并发处理的问题头疼不已,笔者这里就把解决并发问题的方法总结出来,以供有用之需。

 

首先要从系统自身的架构开始剖析,从消息的接入、处理、输出各个层面进行深度解析。一般影响性能最大的原因主要集中在频繁的I/O操作和数据库的操作。下面就各个环节的性能改良所对应的方法。

 

1、               在消息接口处使用负载均衡,作为一个单独的线程来处理,将收到的消息逐个均衡的发送到处理线程。

2、               在消息处理的时候,根据系统自身的特点,选择多线程或者多进程进行并发处理。

3、               尽量在消息处理的时候,最大限度的减少数据库操作或者磁盘IO操作。可以将常用的数据库系统配置表的记录加载到内存。如果对于一些大容量表进行多次处理,那最好在第一次处理的时候,就将其写入内存,后续都直接从内存中进行处理。而对于磁盘的I/O,尽量让其再单独的一个线程进行操作。

4、               在数据库的处理时,如果表的记录非常大(千万级),可以使用分区/分表的方式,将一个大表的记录划分到多个小表进行处理。

5、               在消息处理的时候,因多线程/多进程的操作,而进行的一些列的锁也是影响性能的重要因素,所以必须仔细的核查这些锁的作用和锁的级别。

6、               对硬件进行升级,包括CPU的升级、内存的升级甚至磁盘的升级、数据库的升级。

 

 

 

 

原创粉丝点击