高效的JavaScript事件跟踪

高效的JavaScript事件跟踪,javascript,events,matomo,Javascript,Events,Matomo,我在一个可折叠的树上有一些事件跟踪,每次用户展开树时都会跟踪: jQuery('ul.child-pages div.hitarea').click(function() { piwikTracker.trackGoal(1); // Track TreeView Clicks in Piwik when a user clicks on hitarea }); 我担心,如果每次单击都将数据发送到服务器,那么这会对性能造成代价。有没有更有效的方法来实现同样的目标?或者我有点偏执,向服务

我在一个可折叠的树上有一些事件跟踪,每次用户展开树时都会跟踪:

jQuery('ul.child-pages div.hitarea').click(function() {
    piwikTracker.trackGoal(1); // Track TreeView Clicks in Piwik when a user clicks on hitarea
});

我担心,如果每次单击都将数据发送到服务器,那么这会对性能造成代价。有没有更有效的方法来实现同样的目标?或者我有点偏执,向服务器发送一个小请求也没什么大不了的(虽然Piwik是数据库驱动的,所以我每次点击都会在MySQL的某个地方写东西)。

如果你发现这是一个真正的问题(如果你不确定这是个问题,不要浪费时间),只需批处理请求并在一段时间不活动后发送即可

您可以在多个级别添加队列。JavaScript;将事件添加到JavaScript中的数组中,并一次提交N(5?)个事件(但您将丢失跟踪的事件,但在页面关闭之前从未提交)。服务器:将它们存储在内存中(Memcached?),并定期保存到数据库中。最好的建议是,只有当它成为一个问题时才去担心它;并在瓶颈所在的位置添加一个队列