Скорее всего слишком частое обновление данных.
Суть в том, что если вы делаете обновление записи - это относительно сложная операция.
Вместо этого можно складывать в отдельную таблицу временные данные запросами вида:
INSERT DELAYED INTO table (col) VALUES ('val');
Которые будут срабатывать мгновенно, а потом, например, с помощью cron раз в пять минут обновлять таблицу с данными и удалять временные записи.
Это нормально, сам так делал.
Ещё можете поиграться с атрибутом async в подключаемом скрипте. Это позволит грузить скрипт асинхронно, и может убрать тормоза. <script async src="some.js"></script>
Что-то проще Logn pooling'а придумать весьма сложно. По любому придется ставить дополнительные библиотеки, и всё это будет не так тривиально настроить.
Нет, высшая не нужна. Обычная геометрия пригодится при работе с картами. А так в абсолютном большинстве школьного уровня более чем достаточно, главное чтобы логика хорошо работала.
AJAX запросы - просто запросы. Можно сгенерировать с помощью CURL запрос абсолютно идентичный запросу из любого браузера. И ничего вы тут не сделаете.
Можете попробовать определать поведение посетителя, но не благодарное это дело.
Проще всего включить соответствующую опцию в настройках CloudFlare (если используете его), ибо самому писать такую штуку очень неблагодарное дело.
Почитайте когда меняется this. В данном случае у вас создастся контекст когда вы выполните: obj = new Container();
Так как this.get является методом и принадлежит Container - он наследует его контекст (в методе this это родительский объект).
У вас есть сообщение в базе - вот они и возвращаются, вы же не проверяете полученные сообщение как прочитанные, вот у вас на запрос всегда срабатывает мгновенно. Как вариант можете отправлять на сервер предыдущее количество сообщений, и если оно не отличается от текущего - ждать. А ещё вам flush(); нафиг не нужен, в следующей же строчке exit; - всё равно буфер будет сброшен.
Можно выкачать исходник (скрипты/стили/изображения подключать из оригинальной страницы), сделать iframe с этим исходником на своем домене, добавить стиль, который подвинет html/body так, чтобы в видимости было то, что нужно (ну и overflow задать, чтобы прокрутку отключить).
Такой вариант достаточно универсальный и надежный.