多线程rpc时,在等待返回期间线程会让出cpu吗(语言-java)
目前遇到个场景,一个用户钱包接口,保护多个账户类型余额字段,每个字段需要单独请求结算服务查询,目前使用多线程去请求结算服务,但当请求数升高时,结算服务的响应时间会增加,应该是导致了我的线程池任务堆积,新任务提交到被执行的时间几乎等于结算的响应时间;刚开始我想配置更多的线程数来降低任务调度时间(指任务提交到被执行的时间),但效果不明显,姑且是认为测试机的核心线程数不够,但是我有些好奇,请求结算期间,线程会让出吗?还是会一直等待,导致新任务无法被执行?
那么我想要提高qps的话,是不是最好把等待队列设为0,然后把拒绝策略改为使用主线程,然后提高最大线程数?
最后是让结算服务想办法处理高qps时的响应时间上升?
如果想观察线程池的情况以及线程在运行时的情况应该使用什么工具?
IOmeter 参照楼上 看下cpu使用情况 看系统机制
页:
[1]