当前位置: 首页 > 网络应用技术

如何测试Django并发数量(2023年的最新答案)

时间:2023-03-05 19:00:13 网络应用技术

  简介:今天,首席CTO指出要与您分享如何测试Django并发内容。如果您可以解决您现在面临的问题,请不要忘记注意此网站。让我们现在开始!

  Django本身带来了Runserver,但是我们仅在测试时使用它,而实际生产部署通常使用UWSGI+NGINX方法。

  因为我们的生产环境通常具有大量并发访问,并且runserver带有django非常不稳定,因此最大连接数量大约是数十个,并且过多的并发连接导致服务崩溃,并且安全性不在术语中。安全。

  NGINX可以支持高并发连接。官方放弃的连接数量约为50,000,在实际生产中,它也约为20,000?40,000。在情况下,该版本已升级)。

  相对比较,Django随附的Runserver仅适合我们在测试过程中使用它。

  1.我们在查询上使用select_for_update来告诉数据库锁定对象,直到交易完成为止。

  2.在数据库中锁定一条线需要数据库事务 - 我们使用Django的Decorator Transaction.Atomic来定义交易。

  3.我们使用类方法代替实例方法 - 我们告诉数据库锁定,然后将锁的对象返回给我们。然后,它是从数据库中获得的对象。这个对象不能保证我们不会被锁定。

  4.帐户中的所有操作均在数据库交易中执行。

  Django具有自身的效率,并且不使用Epoll/Kqueue。

  很难说有多少人在线。

  测试后,对于我的计算机,最初的Django项目的能力约为294。

  相反,龙卷风是高性能的服务器。其文档的网络示例约为1324。

  一个仅包含“ Hello World!”的静态文件在nginx上,约为2942

  1.将[UWSGI]中的流程设置为4要少得多。此事代表您,同时您可以处理几个请求。将其更改为32.100的科学可以在100处接受。

  2.这种访问量绝对不是由Nginx的瓶颈引起的。您需要优化应用程序。

  对于普通打印,您可以在日志中的部署容器日志中找到输出。

  结论:以上是有关如何测试Django并发量的主要CTO注释的所有内容。我希望这对每个人都会有所帮助。如果您想了解有关此信息的更多信息,请记住收集并关注此网站。