1、背景
团队有2台API服务,使用Resin4布署的web服务。刚上线调用方非常少,跑了几个月后,程序正常得很。
但是由于业务的发展,此API要给多个高并发的应用调用,级别在300w/天左右,瞬间请求可去到100+/s。
自己看服务,其实服务执行情况还好,虽然请求量高了些,但是程序的成功率很高,CPU有波动,但是算正常。
可是后来,调用方运行一段时间后,说有1/3的请求都被拒绝或者超时了。于是在想是不是resin4可支撑的线程数太小。
2、第一次调优
于是修改了resin.properties里的线程池的大小:
# Throttle the number of active threads for a port
port_thread_max : 1024
accept_thread_max : 1024
accept_thread_min : 32
port_thread_max: 每个端口最