高并发
来源:互联网 发布:避暑山庄四知书屋 编辑:程序博客网 时间:2024/03/29 17:52
一个开发者的疑问:
应用程序会调用TOP的API去执行任务,首先根据单个任务执行时间很长,其次在用户量增加的时候线程并发量很大,出现连接重置等网络问题。
回答:
1.合理切割任务,将任务粒度放小,减小事务时间,提高事务执行成功率,降低回滚代价。
2.合并任务中重复的内容,在时间间隔容许的范围内,减少可能重复的操作。
3.看是否有批量操作接口,减少单个循环调用次数。
4.控制工作线程池线程个数,根据实际性能和对方服务器处理能力设置并行任务个数。
第四点在说明一下:
线程并发开的越多未必成功率越高:
首先本地资源有限(开的越多线程,本地GC回收频率越高,影响执行速度,效率反而降低)
其次,对方可能会由于你的ip连接数过多主动拒绝连接。(DOS保护)
再次,信道无法复用。(当前1.6JDK版本已经能够较好的复用TCP信道,并发瞬间开大量的TCP信道本身就是一种损耗,有时候部分串行化,某种程度上会减少产生TCP信道的数目合理利用信道,提高效率和成功率,客户端做好流控也很重要。)
- 高并发
- 高并发
- 高并发
- 高并发
- 高并发
- 高并发
- 高并发
- 高并发
- 高并发
- 高并发
- 高并发
- 高并发
- 高并发
- 高并发
- 高并发
- 高并发
- 高并发
- 高并发
- GCC-3.4.6源代码学习笔记(47)
- C# Split String Examples
- Visual Basic .NET 模块五 菜单栏、工具栏、状态栏(文章在资源/习题/里)
- sql_add_remove_descripton
- AOP是什么
- 高并发
- main 引数
- 有用的系统相关
- 调试sql语句的一个小方法
- 一起来学OpenMP(8)——线程同步之互斥锁函数
- AS3 Flex基础知识100条
- IIS 1.0 升级 2.0
- Linux系统视频解码问题
- 技术创新