用openresty实现了一个图片处理服务器, 处理逻辑比较简单, 就是下载图片,然后进行cpu计算处理, 把结果放入缓存。 下次请求来如果缓存中有,直接返回结果, 没有的仍然下载图片进行处理。
其中cpu计算估计要耗时100MS左右。 下载图片耗时400MS, 读取cache应该在10MS左右。 不过线上运行时发现很多cache请求也到了100MS左右。 怀疑是openresty协程调度导致cache请起被挂起后, 另外的cpu计算请求一直占用cpu,导致cache io完毕后也没有办法响应, 导致cache请求排队等待调度。
不知道这种情况有什么比较好的解决方案?