1

我今天被问到这个问题,把我难住了。

我的理解是,在典型的实现中,如果内存占用,Web 服务运行时并不是最大的部分,因此不确定可以做些什么来实现这一点。

我想这可能与交换消息的复杂程度有关,因此需要多少解析,同意吗?

请注意该问题同时涵盖 SOAP 和 REST?

4

1 回答 1

2

按照简单的逻辑,最好的办法是减少 REST/SOAP 服务与其客户端之间交换消息的数量和大小。用于 REST 的 SOAP 或 XML/JSON 消息中的每条消息都会在到达时映射到某些对象。如果生成的对象很大,它们会消耗大量内存。

其次,请求处理的时间越少越好,如果对象处理得快,它可以被 GC 处理和收集,或者在 C/C++ 中释放,这将释放内存。由此遵循您的想法,即解析越快越好。只要它允许快速处理消息。

如果有的话,关闭内部缓存也是明智的。它还可以减少内存占用。另一方面,如果一个服务分发了很多类似的消息,最好事先缓存它们,并在需要时将它们取出。

于 2013-11-08T11:09:39.393 回答