【发布时间】:2011-11-26 04:39:43
【问题描述】:
假设您的网站每天有 200,000 名唯一用户。所以,你的服务器负载很重/很重;而且您没有资源购买更大/更好的服务器。所以,你被你所拥有的东西困住了。
现在,每当用户访问您的站点时,您都需要进行一些计算(计算通过 GeoIP 检测到的用户城市与某些城市白名单之间的距离,找出半径 140 英里内最近的城市)。
您会通过 PHP 还是通过 JavaScript 进行此计算?
首先,您会预先计算白名单城市半径 140 英里范围内的所有附近城市吗?例如:白名单城市 1 可以有 20 个附近的城市。还是每次都进行即时计算?
例如: 白名单 = 密歇根州底特律 和附近的城市 = 密歇根州卡拉马祖(140 英里)
第二,如果预先计算:您会将其存储在 XML 文件还是某个 MySQL 表中?现在,我们只需要搜索一个表(大小不超过 1 mb 的 mysql 或 xml)。我猜这会效率低下,因为客户端浏览器 (JavaScript) 必须下载 1mb xml 并通过它进行搜索。这将使页面加载时间更慢。使用 DB 可能会更快,但 DB 负载会增加(如果一天中有 200,000 个唯一用户尝试加载页面)。
也许最好的方法是进行 precompute,将预先计算的结果存储在 XML,然后使用 PHP 搜索 XML并找到离用户最近的列入白名单的城市?
【问题讨论】:
标签: php javascript xml performance xml-parsing