并发
bigzhangbig
数据挖掘,推荐引擎,java,python,golang,互联网供应链,互联网电商
展开
-
谈高QPS下的优化
谈高请求量下的优化: 1.在非常大量场景下: 重复的操作的幂等结果缓存非常有效果;这说明点滴的优化在大量下都是值得的; 2.批量操作的优化:批量操作的意义就是通过批量的方式,相对减少了RTT的总耗时在整个处理过程中的影响占比;原创 2017-03-31 19:26:40 · 2209 阅读 · 0 评论 -
开发服务端程序,在存在并发请求场景下,需要考虑一些常规事项简单梳理和总结
并发考虑如下: 1.多线程,限速(停顿),有界堵塞队列+超队列直接调用线程run方法(ThreadPoolExecutor.CallerRunsPolicy),网卡尖刺, 2.注意并发的要点:小数据包(防止网卡打满)+ 占用内存小的小对象,生命周期短的小周期对象(JVM快速释放) + 并发(提升效率) + 多机器;原创 2017-04-21 12:17:59 · 582 阅读 · 0 评论 -
延时任务如何精确处理
1.背景 延时任务如何精确处理,比如下单后10分钟没有支付,就必须取消订单。假如一个订单的下单时间是上午10:00,那么10:10必须做到该订单被处理。如果有成千上万的订单都是这种情况,怎么做到都能够这样处理? 2.方案思路 一般情况下,待执行的任务,都是存储到关系型数据库中,这个现状会自然的影响我们做出下面的解决方法:轮询。 轮询:采用轮询的方案,假如执行轮询的是一个执行者(单个进程或者原创 2018-01-13 10:00:50 · 516 阅读 · 0 评论 -
如何估算线程池个数
关键词 CPU_WAIT_IO(等待IOCPU时间比率); cpu运行时间,cpu等待时间; 公式:最佳线程数目 = ((线程等待时间+线程CPU时间)/线程CPU时间 )* CPU数目; 在同一个进程里面,启动两个线程池,一个执行调用A服务,另外一个执行调用B服务,都是网络调用; 假设机器是10核数,A线程池最大为10,B也是最大为10; 调用A服务阻塞,那么调用B服务是不是也会受到...原创 2018-09-05 20:04:43 · 952 阅读 · 0 评论