Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django-开发服务器替代方案_Django - Fatal编程技术网

Django-开发服务器替代方案

Django-开发服务器替代方案,django,Django,django开发服务器(runserver)是否有性能更好的替代品, 特别是在并发和静态服务中,并且具有自动重新加载功能,而无需设置完整的生产环境 我在Windows上工作,因此无法使用gunicorn。否由于开发人员的站点用于处理有限的请求,runserver在能够满足应用程序要求的计算机上运行良好。 如果您正在处理一个系统无法容忍的大规模开发项目,那么是时候重新生成生产环境或进行升级了。 我发现很难相信您的应用程序在性能方面如此糟糕,同样,如果您试图测试完整生产站点的行为(在DB条目等方面)

django开发服务器(runserver)是否有性能更好的替代品, 特别是在并发和静态服务中,并且具有自动重新加载功能,而无需设置完整的生产环境


我在Windows上工作,因此无法使用gunicorn。

否由于开发人员的站点用于处理有限的请求,runserver在能够满足应用程序要求的计算机上运行良好。 如果您正在处理一个系统无法容忍的大规模开发项目,那么是时候重新生成生产环境或进行升级了。 我发现很难相信您的应用程序在性能方面如此糟糕,同样,如果您试图测试完整生产站点的行为(在DB条目等方面),那么是时候模拟生产环境了。
如果不是这样,那么我将开始检查项目的底层模型/代码。

您可以安装并使用
rungevent
命令。它具有自动重新加载功能,比基于线程的服务器(面向greenlet)性能更好。唯一需要注意的是静态文件服务:必须为此安装Web服务器或类似nginx的代理

您是否在ur dev服务器上进行了如此大的批量测试,所以您会遇到这种情况(特别是关于静态文件的情况)?如果是这样,那么您必须像前面所说的那样模拟生产环境(只需正确配置一个nginx,指向您的
rungeevent
命令所使用的地址:端口)


如果静态文件不是您的问题,请安装一个
rungeevent
命令并尝试它的工作方式。

好吧,如果您不想使用django dev server,您将不得不花费一些时间进行安装。但好的方面是你只能做一次。顺序部署只需要很少的时间

不久前,我从fastcgi转到了uWSGI,这让我的生活轻松了很多。 uWSGI太棒了!它有autoreload(在守护进程模式下和在终端中直接启动时都可以工作)。在终端中启动时,您可以在请求期间使用调试器(例如,
pdb
),就像在django dev服务器中一样。当然,您可以在简单的情况下使用
print
进行调试

我将它与nginx一起使用,nginx同时提供静态和uWSGI服务,但它当然可以是任何服务器。
在这个配置中,对我来说最有用的特性是,在开发和生产中使用相同的东西。对于开发后的简单项目,只需关闭autoreload和其他一些选项,就可以了。

我不明白为什么这个答案被否决了-,大多数观点都是正确的。我同意你的看法。我正在开发一个地图应用程序,它提供很多瓷砖。每个tile都是一个请求,因此线程可以增强测试,即使在开发中也是如此。正确的,但他已经说过没有生产环境,如果您开始配置nginx、静态服务等,就没有必要不进行sem生产(我相信这是确保一切的最佳方式)。并不是说你的答案是错误的…只是我对所问问题的看法。在正常情况下,你是对的,但是如果没有类似prod的nginx设置,就没有简单高效的方法快速地提供静态文件。您必须使用nginx在本地计算机中设置类似prod的环境的其他场景有:facebook应用程序-甚至在本地安装(它需要HTTPS);websockets(实时)应用程序。然而,这在成为生产环境的设置之前还有很长的路要走:您必须处理缓存、WebSocket超时(在我给出的示例中)、跨源请求。。。拥有一个简单的nginx还不足以成为prodlike我完全同意你的观点,大多数时候(取决于项目)我都是在半成品环境中工作,只是为了确保一切都按原样进行设置,我只是将设置分解为dev和prod,我可以在两者之间快速切换。正如我所说,你的答案(对我来说)是一条路:)gunicorn在windows下不工作?该死,我还以为它在windows上也能用呢:s。无论如何,
rungeevent
从未在windows 7中抛出错误,至少是在linux中libevent运行得更好的情况下。