我不确定这是否最适合 SO 或 SF,我最初在 SO 上发布了这篇文章 - 原文链接- 但我现在觉得它可能更适合 SF。如果版主觉得这很明显,请随时关闭。
我们正在主页上实现一些代码,这些代码依赖于针对每个唯一访问者的 geoip 查找,我们可以选择查询 geoip web 服务 (Maxmind) 或下载 geoip 数据库并在本地查询。该服务器目前是一个 512MB 的 Linode 实例,每天仅接收大约 1500 个唯一访问者,但我们担心在流量高峰期间会发生什么。显然,如果本地化是最佳途径,那么升级服务器内存很容易实现。在本地使用数据库稍微便宜一些,因此不是一个因素。
- 您认为哪种解决方案可以在服务器未负载时提高页面加载速度?
- 当网站遭遇大量流量时,哪种解决方案更有可能存活下来?假设我们必须避免缓存。
答案1
显然,查询本地数据库比向远程服务器发送 HTTP 请求更快,尤其是当您的数据库设置正确时。但是,您需要定期更新数据库,以保持与当前 geoip 映射的同步,除非您可以忍受某种不准确/过时的数据。