2011-06-09 57 views
1

我遇到了来自WCF服务的CPU使用率激增,该服务通过HTTPS向请求客户端发送大文件。 TLS是否需要在发送之前对整个文件进行加密,或者只是对数据包进行加密?我试图找出服务中导致浪涌的原因,因为WCF方法只是为磁盘上的文件提供服务。这些文件过去更小,CPU负载也更小。只有一个端点具有使用流式传输和MTOM的绑定。TLS在发送之前是否必须加密整个文件?

问候, ˚F

回答

1

SSL和TLS行为在传输层,所以任何发送的该会话应在发送时被加密,并且在接收到它立即解密。这意味着他们仍然可以用于有效保护流或其他开放式通信。

因为加密只会像通讯链接一样快,所以它应该是合理的常数。如果您发现性能问题,可能只是由于您的文件较大,意味着按比例更多的处理和时间。当然,如果你有很多客户同时请求数据,并且都需要加密,你很快就会达到处理器或网络设备的限制。这就是为什么支持SSL的网站通常会选择仅保护非常特定的部分,例如登录和密码更改页面。如果他们保证每一个请求,他们会得到超负荷。

2

TLS只加密数据包。您发送的文件没有加密,该文件的通信是加密的 - 这是一个微妙但重要的区别。

当然,使用HTTPS确实可以降低可扩展性和性能下降(因为所造成的HTTPS会话服务器的亲和力),但你可以通过在服务器中使用特殊的硬件HTTPS修复。

相关问题