2012-05-15 3 views
0

У меня есть какое-то событие отслеживания на складном дерево, которое отслеживает каждый раз, когда пользователь расширяет дерево:Efficient JavaScript Event Tracking

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

Я беспокоюсь, что это дорого по производительности, если я отправляю данные в мой сервер на каждый клик. Есть ли более эффективный способ сделать то же самое? Или я параноик и отправка небольшого запроса на сервер - это не большая сделка (хотя Piwik - это база данных, поэтому я на самом деле пишу где-то в MySQL на каждом клике).

+0

Вы можете добавить очереди на многих уровни. JavaScript; добавлять события в массив в JavaScript и одновременно отправлять их * N * (5?) (но вы потеряете события, которые были отслежены, но никогда не были представлены до закрытия страницы). Сервер: Храните их в памяти (Memcached?) И периодически сохраняйте в базе данных. Лучше всего советовать только беспокоиться об этом, если это становится проблемой; и добавьте очередь *, где * узкое место – Matt

ответ

1

Если вы обнаружили, что это реальная проблема (не тратьте время, если вы не уверены в том, что это проблема), только партия запросы и отправлять их после определенного периода бездействия