Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.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 如何评估web服务器的性能?_Django_Performance_Webserver_Nginx - Fatal编程技术网

Django 如何评估web服务器的性能?

Django 如何评估web服务器的性能?,django,performance,webserver,nginx,Django,Performance,Webserver,Nginx,我计划部署一个django供电的站点。但我对web服务器的选择感到困惑,其中包括apache、lighttpd、nginx和其他服务器 我读过一些关于每种选择的性能的文章。但似乎没有人同意。所以我想知道为什么不自己测试一下性能呢 我找不到有关web服务器性能测试最佳方法的信息。因此,我的问题是: 在没有生产现场的情况下,是否有任何简单的方法来测试性能 或者我可以有一个方法来模拟繁忙的交通来进行公平的测试吗 如何使我的测试公平且接近生产情况 测试之后,我想弄清楚: 为什么有人说nginx在服务静态

我计划部署一个django供电的站点。但我对web服务器的选择感到困惑,其中包括apache、lighttpd、nginx和其他服务器

我读过一些关于每种选择的性能的文章。但似乎没有人同意。所以我想知道为什么不自己测试一下性能呢

我找不到有关web服务器性能测试最佳方法的信息。因此,我的问题是:

  • 在没有生产现场的情况下,是否有任何简单的方法来测试性能
  • 或者我可以有一个方法来模拟繁忙的交通来进行公平的测试吗
  • 如何使我的测试公平且接近生产情况
  • 测试之后,我想弄清楚:

  • 为什么有人说nginx在服务静态文件时有更好的性能
  • 每个web服务器的cpu和内存需求
  • 我最好的选择
  • 像这样的工具通常用于测试您一次可以从大量请求中获得多少负载,以及cacti/munin/您的系统监控工具或您可以选择的每秒生成系统负载和请求数据的工具。这方面的问题是,许多进行基准测试的人没有意识到他们需要请求很多不同的请求,因为代码的不同部分执行它需要不同的时间。对代码而不是请求进行评测和基准测试也很重要,很多人都这么认为,这也是一个不错的工具

    另一个问题是每个页面视图需要多少HTTP请求。请求的数量越少,处理请求的速度越快,这是拥有能够维持高流量的网站的关键,因为完成和关闭连接的速度越快,为新的请求分配资源的速度就越快


    就web服务器的一般速度而言,代理服务器(在您的终端反向运行)的执行速度总是比具有静态内容的web服务器快。至于你的django应用程序中的Apache和nginx,看起来mod_python确实比nginx/lighty+FastCGI快,但这并不奇怪,因为CGI,不管任何加速,仍然很慢。在web服务器上执行和缓存代码并让它管理代码总是更快(mod_perl vs use CGI,mod_php vs CGI,等等),如果你做得对。

    你需要在某处的机器上设置你选择的web服务器+网站,最好是一台硬件规格与你最终将要部署到的机器相似的物理机器

    然后,您需要使用负载测试框架,例如(免费)来模拟同时使用站点的许多用户

    负载测试框架应该在单独的机器上,您还应该监控这些机器的网络和CPU使用情况,以确保测试的限制因素实际上是web服务器,而不是负载注入器


    除此之外,它只是改变内容和监控响应时间、吞吐量、内存和CPU使用等。。。查看它们如何根据您使用的web服务器和承载的内容类型而变化。

    是对web应用程序进行压力测试的极好工具。它可以用于任何web服务器,而不仅仅是Apache。

    nginx/lighty+wsgi的问题比您想象的要严重一些: