当前位置: 首页 > 面试题库 >

如何在多线程模式下使用Gunicorn运行Flask

洪伟兆
2023-03-14
问题内容

我有用Flask编写的Web应用程序。正如每个人的建议,我不能在生产中使用Flask。所以我想到了带有Flask的Gunicorn。

在Flask应用程序中,我正在加载一些机器学习模型。这些总大小为8GB。我的Web应用程序的并发性可以达到1000个请求。并且机器的RAM是15GB。
那么,运行此应用程序的最佳方法是什么?


问题答案:

你可以使用Gunicorn的多个工作人员或异步工作人员启动你的应用程序。

Flask server.py

from flask import Flask
app = Flask(__name__)

@app.route("/")
def hello():
    return "Hello World!"

if __name__ == "__main__":
    app.run()

与gevent异步工作者的Gunicorn

gunicorn server:app -k gevent --worker-connections 1000

Gunicorn 1个工作者12个线程:

gunicorn server:app -w 1 --threads 12

具有4个工人的Gunicorn(多重处理):

gunicorn server:app -w 4


 类似资料:
  • 问题内容: 我目前有一个程序可以在单线程模式下读取文件(非常大)并创建搜索索引,但是在单线程环境下建立索引的时间太长。 现在,我正在尝试使其在多线程模式下工作,但不确定实现该目标的最佳方法。 我的主程序创建一个缓冲的读取器,并将实例传递给线程,并且线程使用缓冲的读取器实例读取文件。 我认为这并不符合预期,而是每个线程一次又一次地读取同一行。 有没有一种方法可以使线程仅读取其他线程未读取的行?我需要

  • 问题内容: 在服务器模式下使用OpenOffice有什么经验?我知道OpenOffice不是多线程的,现在我需要在服务器中使用它的服务。 我该如何解决这个问题? 我正在使用Java。 问题答案: 是的,我正在使用OpenOffice作为文档转换服务器。 不幸的是,解决您的问题的方法是生成一个OpenOffice进程池。 JODConverter 的commons- pool 分支(在移至之前)为您

  • 有没有办法在CSV数据集配置中使用“共享模式”的这个选项“编辑”?我在官方网站上找到了这个描述? apache jmeter组件CSV数据集配置 标识符-共享相同标识符的所有线程共享相同的文件。例如,如果您有4个线程组,您可以为两个或更多的组使用一个公共id来在它们之间共享文件。也可以使用线程号在不同线程组中的相同线程号之间共享文件。 但是我不明白普通id和线程号是什么意思?如何将它们用于特定的线

  • 我正在做Spring批次。我有一个分区步骤(对象列表),然后是读者和作家的从属步骤。 我想以并行模式执行。因此,我希望每个分区都有一个特定的读写器实例。 目前,创建的分区使用相同的读写器实例。因此,这些操作是在串行模式下完成的:读取和写入第一个分区,然后在第一个分区完成后对下一个分区执行相同的操作。 Spring Boot配置类: partitionner类 读者类 作家班 你能告诉我我的密码有什

  • 我想使用 Confluent 的复制器将数据从一个系统复制到另一个系统。我正在使用两个Ubuntu 18.04系统,其中一个充当源,另一个充当目的地。 我尝试在分布式模式下运行kafka connect replicator,更改了以下配置: < li >在confluent/etc/Kafka/server . properties中,我做了以下更改 源 目的地 然后,我在源系统中创建了主题,并

  • 我已经使用Quarkus开发模式()启动了我的应用程序,我希望能够调试它。 怎么能那么做?