我们正在我们的主页上实现一些代码,这些代码依赖于对每个唯一访问者的 geoip 查找,我们可以选择查询 geoip Web 服务 (Maxmind) 或下载数据库并在本地查询。该服务器目前是一个 512MB 的 Linode 实例,每天仅接收大约 1500 个唯一身份,但是我们担心在流量高峰期间会发生什么。
我很清楚,本地查找会更快,但在负载下访问数据库肯定会比处理额外的 http 请求更占用内存/CPU。显然,如果去本地是最好的路线,升级服务器内存很容易实现。我想每秒超过一定数量的连接,服务器更有可能变得不可用查询其本地数据库而不是 web api(当然假设Web api 服务器可以处理 http 请求)。
任何关于哪种解决方案将是最强大的长期解决方案来处理偶尔的流量泛滥而没有任何拒绝服务的输入将不胜感激。
编辑:只是为了进一步量化这一点,假设服务器每秒需要能够处理多达 200 个连接。每个连接都需要一个 DB 查询或 http 请求。