移动检测高流量站点

时间:2011-12-14 16:20:04

标签: php mobile high-availability

我有一个高流量的网站(每天超过1百万的访问者),我需要检测他们的用户代理。我有一个超过1000个移动设备的列表。

我运行memcache根据他们访问的页面和他们放置的参数输出动态内容,例如:

/文件/页面/ 1?TEXTSIZE =大

我没有静态页面,也不能使用子域名。

我找到了检查用户代理的不同脚本:

http://www.mobile-phone-specs.com/user-agent-browser/0/

http://detectmobilebrowsers.mobi/

http://detectmobilebrowsers.com/

我的问题是,每次页面加载时都会执行这些检查,这会导致我的网站速度变慢

编辑我需要知道我的PHP代码是否是移动设备或浏览器。

如何让这项检查更快地运行?

2 个答案:

答案 0 :(得分:12)

使用上面的所有答案。

使用CSS正确显示您的页面。因为它的唯一显示让浏览器加载处理它。只是要小心css / js / images / html页面的大小,对于慢速设备,可能需要永远加载不加载图像或大js文件的页面(如旧翻盖手机,你可以看到s ** t在它上面)

你的php上的

使用逻辑脚本找出你得到的最多浏览器,然后将其保存在会话中,这样你就不必每次都检查它。

类似的东西:

if(!$_SESSION['var']) {
  if(stripos($_SERVER['HTTP_USER_AGENT'], 'iphone') !== FALSE) {
    $_SESSION['var'] = 'iphone';
  }
  // etc...
  // your else case can be desktop or default.
}

答案 1 :(得分:3)

在您的情况下,我会通过响应式设计和css策略将移动检测外包给客户端......从处理流量负载的服务器中解除所有开销。

CSS3媒体查询覆盖移动特异性的样式是一种非常流行的方法。

http://webdesignerwall.com/tutorials/css3-media-queries

Example site - 开始缩小浏览器以查看其运行情况。