这个业务在单台服务器上,当任务量过多时就会达到性能瓶颈,除了去优化每条数据的处理时间,好像没有其他办法,如何优化,2楼的同学也提供了一部分建议,可以考虑一下,不过还是要看你具体业务,如果这些方面都无法提升,可以考虑负载均衡,把这些任务全部扔到队列中,然后多台服务器的程序去消费这个队列任务,其实这个和你开线程池多线程消费是一个道理,但是单台服务器性能有限
建议 一、可以在用户前端点击招行后 给予提示,如:当前任务排在第几位预计需要多少时间可以生成; 二、通过每个任务生成的线程池中 可以考虑再用多线程来分别处理每条数据? 三、不知道业务场景是什么样的,是否可以定时去执行(比如特定时间段去执行任务) 四、任务关联的数据,是否存在重用的可能?避免每次生重复处理
[quote=引用 3 楼 瘦死的黑骆驼的回复:]这个业务在单台服务器上,当任务量过多时就会达到性能瓶颈,除了去优化每条数据的处理时间,好像没有其他办法,如何优化,2楼的同学也提供了一部分建议,可以考虑一下,不过还是要看你具体业务,如果这些方面都无法提升,可以考虑负载均衡,把这些任务全部扔到队列中,然后多台服务器的程序去消费这个队列任务,其实这个和你开线程池多线程消费是一个道理,但是单台服务器性能有限
67,550
社区成员
225,863
社区内容
加载中
试试用AI创作助手写篇文章吧