У меня есть простой сервер узлов (рендеринг nodejs + express + ejs) , когда пользователь пытался загрузить определенный сервер страниц, отправляет тот скомпилированный html и отправляет его в ответ.
Для отслеживания пользователей я добавил 2 счетчика
a.счетчик, который увеличивается, когда сервер получает запрос на эту страницу
b.когда клиент загружает страницу, он содержит один некоторый код, который отправляет HTTP-запросы обратно на мой сервер, который я использую в качестве счетчика
Теперь проблема заключается в том, что с течением времени разница между sentResponse
counter и clientLoad
увеличение счетчика увеличивается настолько, что я получаю sentResponse = 7000
и clientLoad = 3600
.
Любые предложения о том, что может вызвать такое поведение
Примечание: я также настроил Cloudfare до того, как запросы достигнут моегосервер, и я приостановил его, но все же у меня были огромные различия?
Примечание: я также заметил, что многие пользователи часто делают запросы на страницу, например, несколько раз под 4, но я уверен, что отправляю действительный HTMLи я отличаюсь почти на 50%, поэтому я не думаю, что каждый пользователь, который посещает страницу, нажимает Ctrl + R 2 или более раз под 4 с.
Код:
server.js
app.get('/dashboard', (res, res) => {
...
...
...
Tracker.incrementCount('sentResponse');
res.render(page.ejs, {...});
});
app.get('/client-load-start', (req, res) => {
Tracker.incrementCount('clientLoadStart');
res.send(200);
});
page.ejs
<html>
<head>
...
<script src='/client-load-start?version=<some_random_4_digit_number>'></script>
...
</head>
<body>
...
...
</body>
</html>