2016-11-16 132 views
1

我目前正在开发一款应用程序,该烧瓶网站服务器提供该应用程序。烧瓶应用程序非常缓慢

后端python代码已经变得非常庞大(对1000行代码来说,给读者一个透视图)和很多依赖关系。

其结果是,即使是简单的API调用,如本:

@app.route('/', methods = ['GET']) 
def hello(): 
    return "Sample" 

结果采取接近900毫秒的服务请求。

任何人都可以给我提示提高延迟?在这种情况下会为蓝图帮助吗?

我们的依赖都是至关重要的(我们也许可以删除一个或两个人,但仅此而已)...

任何帮助是极大的赞赏

感谢, Galeej

+1

您只能优化您测量的内容;所以在你做任何事情之前,先准备一些工具来确切地发现_where_问题。 –

+0

您是使用烧瓶开发服务器,还是使用WSGI部署? –

+0

要知道为什么事情很慢,你必须测量。花费的时间在哪里?我怀疑这是你展示的功能。 Flask并不关心其他代码是什么(也许可以通过CGI进行部署),所以代码行并不代表什么意思(即使1000行代码不是真的“非常巨大”)。你有WSGI中间件吗?请求之前的任何代理命中python?时间必须在某个地方度过。 – syntonym

回答

2

Flask是Python的一个微框架。它不是一个Web服务器。

很多原因会导致响应缓慢。 但我不认为依赖或blueprinting是问题。 如果你可以提供你如何部署你的应用程序,这将是有益的。

我认为最关键和最简单的事情就是记录每个主流程的时间戳,然后找出哪个部分的成本很高。

+0

我们已经使用Gevent部署了它。有没有办法在gevent中启用日志记录? – galeej

+0

我不熟悉gevent。但是你可以在没有gevent的情况下启动一个瓶子守护进程,然后访问这个方法并检查响应时间成本。 –