在Python 2.x中快速发出多个SSL请求

时间:2012-04-03 16:25:55

标签: python performance ssl https

我有一个Python程序,它必须与世界另一端的第三方服务器进行大量的HTTPS通信。

每次程序想要与该服务器通信时,它都会启动一个新的HTTPS请求。

我开始明白这是非常低效的,因为那时需要每次都进行SSL握手,这需要进行大量的往返,因为我们距离服务器有多远,这是非常昂贵的。

有没有办法在第一个HTTPS请求发出后快速生成? (我对SSL知之甚少,我不知道这是否意味着保持连接活着,或者其他任何东西。)

(我看到可能有帮助的一件事是ssl.SSLContext,但它只能在Python 3.2中使用,而我们正在使用Python 2.7。)

1 个答案:

答案 0 :(得分:0)

我不知道具体细节,但想到两个想法:

1)您可以使用多处理甚至多线程在并行处理不同处理器上的每个连接。因此,SSL握手仍然很慢,但这并不重要,因为它们是并行完成的。

2)您可以尝试确保使用HTTP / 1.1而不是HTTP / 1.0;据说后者允许重用连接。