【问题标题】:Will python provide enough performance for a proxy?python 会为代理提供足够的性能吗?
【发布时间】:2009-03-06 16:52:36
【问题描述】:

我想开始编写一个 http 代理,它将根据我将配置的一些规则/过滤器修改响应。但是,在开始编写代码之前,我想确保我在使用 Python 时做出了正确的选择。后来,这个工具必须能够处理很多请求,所以,我想知道我以后可以指望它能够在“迫在眉睫”时执行。

【问题讨论】:

    标签: python performance proxy


    【解决方案1】:

    只要大部分处理使用 Python 的内置模块,就性能而言应该没问题。 Python 的最大优势在于其清晰的语法和易于测试/可维护性。如果您发现代码的某个部分减慢了进程,您可以重写该部分并将其用作 C 模块,同时将大部分控制代码保留在 Python 中。

    但是,如果您希望制作最优化的 Python 代码,您可能需要查看this SO post

    【讨论】:

      【解决方案2】:

      是的,我认为您会发现 Python 完全可以满足您的需求。有大量的 Web 框架、WSGI 库等可供选择,或者在构建自己的框架时学习。

      Python History blog 上有一个有趣的post,讲述了 Python 在 1996 年是如何支持高性能网站的。

      【讨论】:

        【解决方案3】:

        这将取决于您使用的库而不是语言本身。众所周知,twisted 框架可以很好地扩展。

        这里有一个proxy server example in python/twisted,可以帮助您入门。

        底线:明智地选择您的第三方工具,我相信您会没事的。

        【讨论】:

        • 我认为我不会使用任何第三方库。反正不是在初始阶段。
        • 我建议不要使用这种方法,但每个人都有自己的方法。尽管如此,twisted 存在并且具有相当可扩展性的事实应该可以回答您的问题。
        【解决方案4】:

        Python 在大多数任务中的表现都不错,但如果您习惯了其他语言,则需要更改编程方式。请参阅Python is not Java 了解更多信息。

        如果普通的旧 CPython 无法提供您需要的性能,您还有其他选择。
        如前所述,您可以在 C 中扩展它(使用像 swigPyrex 这样的工具)。我也听说过关于 PyPy 的好消息,但请记住它使用了 Python 的受限子集。最后,很多人使用psyco 来提高性能。

        【讨论】:

          猜你喜欢
          • 2011-05-17
          • 1970-01-01
          • 2020-06-18
          • 1970-01-01
          • 1970-01-01
          • 2021-09-14
          • 2017-05-02
          • 1970-01-01
          相关资源
          最近更新 更多