我正在运行一个API代理服务器,并且想要压缩从API端点获得的(未压缩的)响应内容,以便更快地将它们发送到发起请求的客户端。
但是,我想知道在服务器上执行压缩时是否有任何临界点,将压缩的响应内容发送到客户端,并且在客户端执行内容的解压缩实际上需要比发送未压缩的响应更长的时间内容直接发送给客户端。
答案取决于你的回应的可压缩性和平均回应的大小。 对于小尺寸的gzip包装开销将使您的输出比未压缩的时间更长,并咀嚼不必要的CPU。
作为一个例子,Tomcat使用2kb作为默认的最小可压缩尺寸。 如果你的API正在返回JPG,那么压缩也将是一个失败的提议。
您的方法应该是制作一个直方图,如果您的响应大小和压缩比率,并调整您的压缩filter跳过太小的对象提供合理的压缩。