wsgi、cgi或fastcgi,用于处理单个python脚本

wsgi、cgi或fastcgi,用于处理单个python脚本,python,performance,apache,mod-wsgi,Python,Performance,Apache,Mod Wsgi,我有一个python脚本来代替一个php脚本,该脚本处理对mysql数据库的简单插入。我需要使用数据库连接池来处理aws微实例(考虑perl和其他脚本语言)上非常高的lod或请求(大约1000个请求/秒,有待验证)。经过所有的阅读,我认为python可以处理一个连接池。因此,我需要找到在apache2下运行python的方法 所有的阅读似乎都指向mod_wsgi,但对于一个脚本来说似乎有点太多了。那些有在apache中运行python(无框架)的具体经验的人,哪一个适合这种单文件场景: CPU

我有一个python脚本来代替一个php脚本,该脚本处理对mysql数据库的简单插入。我需要使用数据库连接池来处理aws微实例(考虑perl和其他脚本语言)上非常高的lod或请求(大约1000个请求/秒,有待验证)。经过所有的阅读,我认为python可以处理一个连接池。因此,我需要找到在apache2下运行python的方法

所有的阅读似乎都指向mod_wsgi,但对于一个脚本来说似乎有点太多了。那些有在apache中运行python(无框架)的具体经验的人,哪一个适合这种单文件场景:

  • CPU使用率
  • 内存使用
  • 是否需要进行复杂的调整

请原谅我的无知,如果我似乎错过了显而易见的。因为这不是一个直接的比较,比如哪一个是最好的,请理解,我希望一个非常实际的方法来帮助做出正确的决定。感谢您的帮助。

在这种情况下,mod_wsgi是一种解决方法。有更多的轻量级方法,如uWsgi,但mod_wsgi应该能够处理1000个请求/秒,而不是主要的瓶颈

以下是一些比较基准:

  • 尝试测量DB负载。DB是否在同一aws微实例上?它适合你吗?主负载有DB。MySQL 如果您的查询很简单,但有很多 数据。请看aws banchmark

  • 将MySQL和Apache转换为低内存。
    2.1在digitalocean com上通过google查找“如何优化Apache Web服务器性能”文章。
    2.2 MySQL向导

  • 是的,mod_wsgi的内存比其他方法要少,但如果一个时刻只有一个python实例(只有一个连接),那么利润就不大了

  • 如果可能,尝试将apache2替换为ngnix。它可能会提供一些空闲内存,通过uwsgi运行python脚本。请通过谷歌阅读“在Ubuntu 13.10上使用uWSGI和Nginx部署Python”一文


  • 如果这只是一个简单的脚本,你真的需要它通过一个网站吗?它可以在命令行上运行吗?不同盒子上的不同服务需要调用它来将数据传递给它。这是唯一的原因。谢谢。这篇文章充满了深刻的见解。