我遇到了来自WCF服务的CPU使用量激增,该服务通过HTTPS向请求客户端发送大文件。 TLS是否需要在发送文件之前加密整个文件,还是只加密数据包?我正在试图找出服务中导致激增的因素,因为WCF方法只负责提供磁盘上的文件。这些文件曾经较小,CPU负载也是如此。只有一个端点具有使用流和MTOM的绑定。
此致 ˚F
答案 0 :(得分:2)
TLS仅加密数据包。您发送的文件未加密,该文件的通信已加密 - 这是一个微妙但重要的区别。
当然,使用HTTPS确实会降低可扩展性(由于HTTPS会话引起的服务器亲和性)和性能下降,但您可以通过在服务器中使用特殊的HTTPS硬件来解决这个问题。
答案 1 :(得分:1)
SSL和TLS在传输层运行,因此通过该会话发送的任何内容都应在发送时加密,并在收到后立即解密。这意味着它们仍可用于有效保护流或其他开放式通信。
因为加密只会像通信链接一样快,所以应该合理地保持不变。如果您看到性能问题,可能只是因为您的文件较大,意味着按比例增加处理和时间。当然,如果您有许多客户同时请求数据,并且都需要加密,您很快就会达到处理器或网络设备的限制。这就是为什么支持SSL的网站通常只选择保护非常特定的部分,例如登录和密码更改页面。如果他们确保了每一个请求,他们就会过载。