我有一个简单的Flask应用程序,它暴露了一个api。调用api运行python算法,该算法执行大量字符串操作和文件读取(无写入)。该算法大约需要1000毫秒。我试图看看是否还有优化并发请求。我正在运行4个vCPU VM的单个实例。
我写了一个客户端,每1000毫秒发出一次请求。 RAM使用率最低,CPU使用率约为35%。当我每隔750毫秒提出请求时。 RAM使用量没有增加太多,但CPU使用率增加了一倍,达到70%。如果我将请求增加到每500毫秒,响应将开始花费更长的时间,最终超时。 CPU使用率为100%,RAM仍然很小。
我跟着this tutorial设置我的申请。我在uWSGI设置中启用了线程。但是,我并没有发现太大的不同。
我希望得到一些关于我可以做什么软件/设置的建议,以便更好地响应并发请求。