XML搜索或DB搜索/ javascript(客户端)或php(服务器端)计算
XML search or DB search / javascript (client side) or php (server side) calculation
假设你的网站每天有200,000个独立用户。因此,您的服务器负载过重;你没有资源去买一个更大更好的服务器。所以,你被你所拥有的卡住了。
现在,当一个用户来到你的站点时,你需要做一些计算(计算通过GeoIP检测到的用户城市和一些城市白名单之间的距离,找出140英里半径内最近的城市)。
你会通过PHP还是通过JavaScript来做这个计算?
首先,你能预先计算出白名单城市140英里半径内的所有附近城市吗?例如:白名单城市1附近可以有20个城市。还是每次都做即时计算?
例如:白名单=密歇根州底特律和附近的城市= Kalamazoo, MI(140英里)
秒,如果是预先计算的:你会把它存储在XML文件中还是存储在MySQL表中?现在,我们只需要搜索一个表(mysql或xml的大小不超过1mb)。我猜这将是低效的,因为客户端浏览器(JavaScript)将不得不下载1mb xml并通过它搜索。这将使页面加载时间更慢。使用DB可能会更快,但DB负载会增加(如果一天内有200,000个独立用户试图加载页面)。
也许最好的方法是执行precompute, 将预先计算的结果存储在XML中,然后使用PHP在XML中搜索并找到离用户最近的白名单城市。如果站点实际上依赖于城市信息,那么您必须在服务器上进行计算。
对于足够大的XML文件,数据库查询几乎总是比XML搜索快。你可以优化查询,MySQL会缓存东西,等等。
预先计算所有城市与城市之间的距离肯定是一种方法。GeoIP不仅提供城市名称,还提供实际的经纬度位置。我相信可能的城市名单也在不断变化。
我会考虑使用MySQL的地理空间功能。这里按坐标搜索的总体视图:
找到两个点之间距离的最快方法
简而言之,您要做的是设置一个您所关心的城市的数据库,并使用它们的lat/long,并根据提供的GeoIP lat/long查询该表。
- 使用php在html中搜索硬编码的JavaScript变量
- Javascript和PHP和谐相处 - 搜索功能
- PHP 中的搜索条件
- 从PHP自动完成动态搜索SQL数据库
- 使用PHP和JavaScript动态搜索SQL表并在HTML上显示
- 如何在php和javascript中使用regex检测空格分隔词(在全文搜索查询中)
- php/mysql搜索结果-当类型>1,同时保持其他类型不>1-代码点火器
- 使用 json ajax javascript jquery 和 java 的自动完成搜索栏(无 PHP)
- 如何从 php 形式在 mysql 数据库中动态搜索
- Javascript PHP在点击搜索时出现弹出图像,关闭图像后显示搜索结果
- Php 搜索表单显示结果时无需按搜索按钮,而它应该等到按下按钮才能显示它们
- 在HTML中搜索PHP的最佳方法
- javascript 或 PHP 来执行搜索和替换功能
- PHP ajax 搜索结果搞砸了我的页面
- 修改sphider搜索.php文件并请帮助我
- PHP MySQL 和 AJAX 搜索过滤器延时
- 使用 PHP、AJAX 和 jQuery 搜索 MySQL 数据库
- PHP/html:即时搜索功能:无法搜索外语(例如中文)字符
- 使用 javascript 搜索 PHP 和 HTML 表
- Javascript不能在WordPress上搜索.php