`
dingjun1
  • 浏览: 213242 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

性能调优记录

 
阅读更多
背景:
    最近需要开一个10分钟一期的彩种,需要测试下往第三方出票的速度、获取中奖名单和算奖比对执行时间,10分钟一期对性能要求比较高

出票优化:
    1、一次查询多票,开多线程并发投注。
    2、一次投注传输多票
    3、支付后启用消息驱动投注,为了保险会有一个定时任务扫描表往投注队列中补充遗漏的记录

获取中奖名单:
    按照习惯,开始我还以为是FOR循环中多次数据库交互是主要瓶颈,改造成批量后,由于按主键取,速度很快,并没有什么改进,分析日志,从第三方接口取名单会比较慢,交互185次,取了9205条记录,费时1分钟多钟,需要改成并发去取名单


算奖:
    还是开多线程进行算奖比对。

主要收获:
    如果按主键取记录,并没有我原来想象的那么慢,实际测试了一下
单次取100条时间(ms)循环100次(ms)取单条(ms)
143,565,6
121,571,6
115,778,6

100次相差5倍,但是还是在毫秒级,优化并不会效果明显。

多线程算奖代码:

private void concurrentCalPrize(final LotteryIssue issue,final Collection<Long> orderIds){
    	if(orderIds == null || orderIds.isEmpty()){
    		return ;
    	}
    	
    	final CountDownLatch latch = new CountDownLatch(orderIds.size());

    	ExecutorService service = new ThreadPoolExecutor(5,5,100,TimeUnit.SECONDS,new LinkedBlockingQueue<Runnable>(Integer.MAX_VALUE));
    	 for (final long jdorderId : orderIds) {
	    	service.execute(new Runnable(){public void run(){
	    		try{
	    			calOrderPrize(issue,jdorderId);
	    		}catch(Exception e){
	    			log.error("",e);
	    		}finally{
	    			latch.countDown();
	    		}
	    	}});
    	 }
    	 
		try {
			latch.await();
		} catch (InterruptedException e) {
			log.error("", e);
		}
		try {
		service.awaitTermination(5, TimeUnit.SECONDS);
		} catch (InterruptedException e) {
			log.error("", e);
		}
		service.shutdown();
    }
分享到:
评论

相关推荐

    DB2 SQL性能调优秘笈

    ### DB2 SQL性能调优秘笈 在数据库领域,IBM DB2因其稳定性和高效性而备受推崇,尤其是在大型企业级应用中。对于DB2数据库管理员(DBA)来说,掌握有效的SQL性能调优技巧至关重要。这不仅能提升系统的响应速度,还...

    Oracle 性能调优的基本方案

    Oracle 性能调优需要通过八个步骤来实现,包括设立合理的 Oracle 性能优化目标、测量并记录当前性能、确定当前 Oracle 性能瓶颈、把等待事件记入跟踪文件、确定当前的 OS 瓶颈、优化所需的成分、跟踪并实施更改控制...

    性能调优实战记录(doc)

    这次性能调优实战记录展示了从日志分析、内存监控、代码优化到JVM选择等一系列步骤,强调了在性能优化过程中,理解系统行为、定位问题源头、选择合适的工具以及不断迭代改进的重要性。对于从事性能测试和调优的...

    阿里+Java+开发手册、阿里巴巴Java性能调优实战

    《阿里+Java+开发手册、阿里巴巴Java性能调优实战》是两本专注于Java开发和性能优化的专业书籍,分别以嵩山版和华山版的形式呈现,由阿里巴巴集团编写。这两本书籍结合了阿里巴巴在实际业务场景中的丰富经验,旨在...

    MySQL分布式数据库中间件Mycat性能调优指南

    在实际应用中,Mycat的性能调优对于系统的整体效率至关重要。本指南将深入探讨Mycat性能优化的各个方面,帮助你更好地理解和掌握其关键技巧。 1. **Mycat架构理解**:Mycat的核心功能包括路由分片、数据切分、读写...

    Oracle 性能调优最佳攻略(OCP版)

    告警日志记录了数据库的告警信息,而Alertlog文件和Tracefiles文件记录了数据库错误和跟踪信息,这些都是性能调优时必须参考的数据。 Enterprise Manager Pages(OEM)作为Oracle企业管理器的组成部分,提供了一个...

    LINUX性能调优方法总结

    在Linux系统中,性能调优是一项关键任务,它涉及到系统的稳定性、效率以及资源利用的最大化。这份名为“LINUX性能调优方法总结”的文档,很可能包含了一系列关于如何优化Linux系统性能的技术和策略。以下是根据标题...

    Oracle 11g 性能调优(OCP版)超经典实战手册

    Oracle 11g性能调优是数据库管理的重要组成部分,它涉及到多个层面的知识和技能。性能调优不仅仅是为了满足数据库操作的效率和响应速度,还涉及到系统的稳定性和资源的合理分配。调优的主体可以包括数据库管理员(DBA...

    性能调优 性能监控工具 性能分析工具

    在IT领域,性能调优是确保系统高效运行的关键步骤,特别是在大数据、云计算和企业级应用环境中。性能监控和分析工具在此过程中扮演了至关重要的角色,它们可以帮助我们识别系统瓶颈,优化资源分配,提升整体性能。...

    DB2性能调优.pdf

    ### DB2性能调优知识点详解 #### 一、概述 **DB2性能调优**是IBM为提升其数据库管理系统(DBMS)性能而提供的一系列指南和技术。这些技术旨在帮助DBA(数据库管理员)和开发人员识别并解决影响数据库运行效率的问题...

    db2数据库性能调优

    【DB2数据库性能调优】 在数据库管理领域,性能优化是一项关键任务,特别是对于像IBM DB2 Universal Database (UDB)这样的大型企业级数据库系统。本文档深入探讨了如何使用Java示例程序PERFORMER来监控和优化DB2 ...

    Java GC与性能调优

    Java GC与性能调优 Java GC与性能调优是 Java programming language 中非常重要的一部分,直接影响着 Java application 的性能。本文档将对 Java GC 与性能调优进行详细的介绍。 一、 Java 平台的逻辑结构 Java ...

    windchill交流第十四篇:系统性能调优

    "Windchill性能调优笔记.docx"文件很可能是对以上这些方面的详细记录和指南,包含了具体的步骤和建议。在实际操作中,应根据企业的具体情况进行调整,通过不断的测试和调整,找到最适合自己企业的性能优化方案。记住...

    数据库性能调优技术--索引调优

    ### 数据库性能调优技术——索引调优 #### 一、概述 随着信息技术的快速发展,数据库在各行各业的应用越来越广泛,对于数据处理速度和效率的要求也越来越高。数据库性能调优是一项涉及多方面知识的综合性技能,它...

    weblogic性能调优(官方文档)

    《WebLogic性能调优:官方文档精粹》 在企业级应用服务器领域,WebLogic以其卓越的性能和稳定性,成为了众多企业的首选。然而,再强大的平台也需经过精心调优才能发挥其最大效能。本文基于一份来自Oracle官方的中文...

    SQL性能调优

    "SQL性能调优" SQL性能调优是指数据库系统中对SQL语句的优化,以提高数据库系统的响应速度和查询效率。 Oracle的内部优化器工作机制可以合理改进查询语句的组织方式,提高数据库系统的响应速度,实现前端画面及平台...

    性能调优方法论

    性能调优方法论在IT行业中,特别是在SQL Server的性能优化领域,是一门深奥而复杂的学科,它涉及从系统架构到具体代码实现的多个层面。本文将深入探讨由SQL Server MVP王辉分享的性能调优方法论,涵盖迭代调优、调优...

    系统调优性能测试报告.docx

    综上所述,该系统调优性能测试报告详细地记录了测试的过程、方法和结果,通过对登录和理财交易处理能力的测试,分析了系统在不同并发情况下的性能表现,为系统优化提供了数据支持和决策依据。通过对比优化前后的测试...

    SQL.Server性能调优.doc

    SQL Server性能调优是数据库管理员和开发人员必须掌握的关键技能,它涉及到一系列步骤和工具,以优化数据库的运行效率,减少延迟,提高查询速度,以及确保资源的有效利用。本实验主要涉及了两个核心工具:SQL ...

    Linux性能调优工具

    ### Linux性能调优工具及其应用 #### 一、引言 在现代IT环境中,Linux作为最流行的开源操作系统之一,在服务器领域扮演着极其重要的角色。随着云计算技术的发展,大量的虚拟化和容器技术使得Linux系统在资源管理和...

Global site tag (gtag.js) - Google Analytics