有一些使用 java、jsp、servlet 的 Web 应用程序。在负载下对 oracle 10g 的频繁查询次数过多。考虑引入 memcached,这简单吗?不更改代码就可以做到吗?还有其他可用的解决方案吗?
答案1
不,memcached 是一个新的层,因此它需要中等到大量代码更改。
虽然有一些相当简单的包装器允许最少的代码更改,但它们不会对性能产生太大影响,因为只有人类才能判断哪些查询应该真正被缓存。
Oracle 确实需要一个优秀的 DBA 来管理它,如果您还没有,那么这应该是您的第一步。
另一种选择是,如果它是一个匿名用户的网站,那么可以使用像 Squid 或 Varnish 这样的反向代理来缓存完整的页面输出。