Java-账户系统,如何提高交易性能

WP主题讨论 WP主题讨论 主题:1013 回复:2239

Java-账户系统,如何提高交易性能

虐人心 发布于 2017-07-21 字数 627 浏览 1203 回复 3

在公司做账户系统,主要用于记账,业务有:开户,消费,充值,查询等功能。

使用的是公司的业务框架,c/s结构的。
主要是基于Mina2框架,类似于工作流的框架。

目前的主要表有:账户表,账户管理表(用于记录账户状态变动,如挂失等),账户明细表(记录,账户金额变动),流水表(记录交易流水),序号表(生成序号),账户客户关系表

目前测试结果显示,每分钟可以处理充值交易900笔,消费交易300笔左右。数据库使用的DB2,虽然现在是测试环境,但是感觉离真正使用还有很大的差距,我估计生产上最起码达到每分钟3000笔交易才可以吧。

现在考虑到要加缓存Ehcache,各位大侠平常工作中有什么好的提高服务器端程序的方法吗???

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

支持 Markdown 语法,需要帮助?

评论(3

想挽留 2017-10-06 3 楼

同意xiaohei的回答.从数据上表现肯定是有非常大的问题,一般交易类的交易量是以秒为单位的.建议可以从以下几个地方进行排查

1)计算出目前业务的理论上的业务吞吐量(请尽量以秒为单位)
2)考虑业务流程设计是否合理
3)找目前的吞吐量的瓶颈,client,server,db 的 CPU?IO?MEMROY?是否存在瓶颈
4)是否是因为海量数据问题,如是,请考虑拆库,无论是横向还是纵向,请根据自己的业务进行安排
5)是否所有业务需要实时处理,能是否使用队列? 如Message Queue.
6)是否有非重要业务(如日志类业务),能否采用异步方式记录或处理

夜无邪 2017-09-27 2 楼

每分钟可以处理充值交易900笔,消费交易300笔左右。数据库使用的DB2。。。
我觉得DB2压力很大,呵呵
算你1200,每秒才20笔,我觉得要么是测试的脚本有问题,要么是。。。
总之,是有问题。。。

清晨说ぺ晚安 2017-07-30 1 楼

可以考虑使用集群来提高效率。
不过像楼上所说,应该是你的程序设计方面的问题。20笔/s这个数字是很小的。
建议使用性能检测工具,看看流程中哪个环节占用了比较多的时间及资源,然后再进行相应的优化或重构。