如何解决如何otpimize请求延迟谷歌云上的Python Tornado服务
我正在使用Python 3.7龙卷风框架开发HTTP POST Web服务,并且已将其部署为GCP上的Cloud Run。我是Python和Tornado框架的新手。据我了解,龙卷风在部署时可作为单线程Web服务器运行。在将我的服务部署到云运行时,我已配置的最大实例数为12,并发数为30,内存为1GB。在每秒向我的服务提供80个请求时,我仍然获得20-30秒的请求延迟。除了配置云运行参数之外,我是否需要更改应用程序代码以处理龙卷风中的更多并发请求或异步请求?以下是我的请求处理程序的代码段,在收到请求后,我对数据进行了一些转换,并从我的应用程序代码对GCS,BQ和pubsub进行了很少的I / O调用。
import tornado.ioloop
import tornado.web
class EventHandler(tornado.web.RequestHandler):
def post(self):
//extract request body
// use defs to transform data
// send to pubsub topic
self.set_status(200,'Ok')
self.write(chunk='Valid Message')
if __name__ == '__main__':
application = tornado.web.Application([("/",EventHandler)])
application.listen(port=8080,address='0.0.0.0')
tornado.ioloop.IOLoop.current().start()
将服务部署到Cloud Run时,默认情况下启动了多少个龙卷风进程?如何使应用程序代码可以处理更多的并发请求?
谢谢!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。