#javascript #php #mysql #ajax #phpmyadmin
#javascript #php #mysql #ajax #phpmyadmin
Вопрос:
Я создаю систему, которая будет отслеживать некоторую информацию о веб-странице пользователей, которые будут заходить на мою веб-страницу, в основном я использую Java Script Ajax для вызова функций PHP, которые будут хранить / обновлять информацию в моей базе данных mysql (phpmyadmin) с использованием Xampp. Среди этих функций я отправляю каждый
-
«x» секундирует информацию о том, является ли пользователь моей веб-страницей или нет. По сути, я обновляю «страницу» пользователя и «время» на странице до сих пор, это будет похоже на предыдущее время плюс «x» секунд.
-
«y» секунд я использую тепловую карту, чтобы получить положение мыши, используя ev.pageX и ev.pageY. Я снова обновляю это в базе данных.
-
Каждый раз, когда пользователь нажимает кнопку, я также сохраняю это в своей базе данных.
В настоящее время я использую «x» = 5 секунд, а «y» = 0,1 секунды. Я разрешаю функции, которая получит точки для отправки в базу данных или нет, функция является body.onmousemove = function (ev).
Я хотел бы знать, будут ли у меня проблемы с моим сайтом, такие как низкая скорость. А также я хотел бы знать, сможет ли мой mysql phpmyadmin xampp обрабатывать, скажем, 100 пользователей онлайн одновременно, отправляя данные в базу данных. Если у меня возникнут какие-либо сложности с этим методом, что мне следует сделать, чтобы улучшить код и стратегию хранения данных?
Спасибо вам всем за ваше время!
Комментарии:
1. Кое-что, что я забыл упомянуть, размер, который учитывается прямо сейчас, в основном равен 902 B для проверки, находится ли пользователь на странице или нет, и 225 B для тепловой карты.
2. Это зависит от сервера, может ли он обрабатывать тонны запросов. Во-первых, вы можете попробовать использовать инструменты разработчика в Chrome (FF?). Например, в Chrome нажмите F12, перейдите на вкладку Сеть, используйте выпадающий список с
Online
и переключите его таким образомSlow 3G
. И проверьте, как ваши треки будут работать при медленном соединении.3. Возможно, вы также захотите заглянуть в Beacon API , для которого это действительно кажется подходящим. На стороне сервера ничего не изменится, но вы могли бы получить немного лучшие результаты для вызовов, которые обычно прерываются при выгрузке страницы.
4. Кроме того, для повышения производительности вы можете рассмотреть возможность записи данных в хранилище, такое как redis / memcache или даже просто в базу данных, а затем обработать их позже. Это позволит вам лучше контролировать вашу логику, требующую больше ресурсов процессора, и клиенты не должны чувствовать нагрузку на сервер.
5.
"y" = 0.1 seconds
— вы имеете в виду, что отправляете ajax каждые 0,1 секунды? Или вы сохраняете указатель каждые 0,1 секунды на стороне клиента и отправляете его пакетно каждые 5 секунд?