php - 从 JQuery 插件收集使用分析数据

标签 php javascript jquery pubnub

我正在完成一个 JQuery 插件,我需要在插件处于事件状态时收集某些事件的使用数据。这些数据需要远程存储在我的服务器上。

但是,我正在尝试找到执行此操作的最佳方法。我猜这与网络分析数据的收集方式类似。我现在看到两个选项,下面概述了基本步骤。

一个。 AJAX- 使用这种方法:

  1. 我使用 JQuery 在我的 JQuery 插件中设置 Ajax 请求以将数据发布到服务器
  2. 我将此服务器设置为捕获已发布的数据,然后使用 PHP 将其插入到数据库表中

B.套接字 - 使用这种方法:

  1. 我注册了 PubNub 之类的服务
  2. 我在我的 JQuery 插件中使用 PubNub Javascript SDK 将消息“发布”到给定的“ channel ”
  3. 搭建专用服务器或云服务器,使用SSH登录,安装web服务器+数据库+PHP,确保一切正常
  4. 我创建我的 PHP 脚本(使用 PubNub PHP SDK)来“订阅”我的插件将在其上发布消息的 pubnub“ channel ”,然后设置机制以从消息中捕获数据并将其插入到数据库表中
  5. 我设置了 supervisord 来守护我的 php 脚本,然后启动守护进程,因为我需要一个长期存在的 PHP 进程来通过服务器运行 PubNub 订阅功能。

我更喜欢 A,因为它对我来说是最简单的选择,我可以使用任何托管的 MySQL/PHP 服务器轻松完成它。但是,我担心当插件在数千个不同的网站或一些非常繁忙的网站中使用时,这种方法的性能如何,在我的远程服务器上每秒可能提交 10 - 100 个数据库。

将 B 方法与套接字一起使用是否更有意义,因为 PubNub 订阅我需要以更高的成本来实现这一点。此外,由于我不需要异步连接,因为我只需要为每个用户发出一个请求,我认为与直接向我的服务器发送可靠的 HTTP 请求(而不是发送消息)相比,套接字可能有点过分了通过 PubNub,然后给我)。

真正实现这样的目标的最佳方式是什么?!

提前致谢。

最佳答案

你是对的,套接字太过分了。甚至 Google Analytics 也使用 HTTP 请求来发送数据。这些请求不需要及时(例如,毫秒无关紧要),因此没有理由打开套接字。

关于php - 从 JQuery 插件收集使用分析数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13963986/

相关文章:

javascript - 如果对象的顺序在另一个对象内发生变化,如何更新对象的序列属性?

javascript - 手动引导和覆盖配置中的 Angular 服务的问题

javascript - 如何使用 jQuery 提交表单

jquery - 语义 ui 下拉菜单不起作用

php - set_error_handler 函数不调用自动加载

php - (PHP) 在同一页面上处理表单提交与在单独的页面上处理相比更好/更少/同样好吗?

php - 如何将一个或多个字段忽略空字段更新到mysql数据库中?

php卡萨TException :TSocket: Could not connect on high traffic website

javascript - 对没有类或 ID 且位于 Div 中的输入焦点发出警报

javascript - 如何使用 OAuth2 从 linkedin 获取最近的公司更新