我遇到过一种CPU使用率激增的情况,它来自WCF服务,该服务通过HTTPS向请求客户端发送大文件。TLS是否需要在发送之前加密整个文件,还是只加密数据包?我试图找出服务中是什么导致了激增,因为WCF方法负责的只是服务于磁盘上的文件。这些文件过去较小,CPU负载也较小。只有一个终结点具有使用流式处理和MTOM的绑定。
致敬,F
发布于 2011-06-09 19:10:01
SSL和TLS在传输层起作用,因此通过该会话发送的任何内容都应在发送时加密,并在收到时立即解密。这意味着它们仍然可以用于有效地保护数据流或其他开放式通信。
因为加密只会与通信链路一样快,所以它应该是合理的恒定的。如果你看到性能问题,可能是因为你的文件更大了,这意味着更多的处理和时间。当然,如果您有许多客户端同时请求数据,并且所有数据都需要加密,那么您很快就会达到处理器或网络设备的极限。这就是为什么支持SSL的网站通常选择只保护非常特定的部分,如登录和密码更改页面。如果他们保证了每一个请求的安全,他们就会超载。
发布于 2011-06-09 19:30:04
TLS仅对数据包进行加密。您发送的文件没有加密,该文件的通信是加密的--这是一个细微但重要的区别。
当然,使用HTTPS确实会降低可伸缩性(因为HTTPS会话导致的服务器亲和性)和性能降级,但您可以通过在服务器中使用特殊的HTTPS硬件来解决这个问题。
https://stackoverflow.com/questions/6291532
复制相似问题