Forum Webscript.Ru
Общие => Веб-технологии => Тема начата: YA от 15 Марта 2002, 15:27:36
-
Хотелось бы побольше критики относительно следующего подхода для subj:
1) Скрипт (Perl) отсылает тестовую страницу определенного размера (~100 Kb (?)) и структуры;
2) Тут же фиксирует время выполнения в файле;
3) Страница после полной загрузки (JScript) делает редирект на скрипт;
4) Скрипт сравнивает время и фиксирует скорость (в каких-то условных единицах) в куках или временных файлах.
Для чего этот геморрой нужен:
В закрытом разделе сайта (система администрирования) иногда требуется загрузка оч. больших объемов данных. При этом подключение может быть как по достаточно быстрой выделенке, так и по диалапу. Вот под медленный диалап и должны в итоге подстраваться скрипты, генерируя страницы, время загрузки которых не превышает некоторой величины.
Может есть какие-то болеее удачные подходы?
Буду рад любым мнениям :)
-
1. Давать возможность админу самому выбирать, что загружать
2. Используй gzip
-
1. Давать возможность админу самому выбирать, что загружать
Ну не об этом речь, мой вариант - как раз альтернатива тому, чтобы админ(ы) каждый раз при новом подключении выбирал(и) что грузить, а что нет. Нужно свести к минимуму "умственные напряжения" "админов" (система делается для обычных секретуток).
К тому же бывают случаи, когда загружать надо ВСЕГДА и ВСЕ, просто нужно выбрать, какими порциями это лучше делать (речь идет опять таки об администраторском, а не клиентском интерфейсе).
2. Используй gzip
Спасибо, подумаю...
-
первый вариант:
нужно подсчитать время соединения с сервером во время загрузки 100 КБ данных.
второй вариант:
в начале странице js ставит первый кук с временной меткой, потом в самом конце тоже js ставит вторую временную метку. Далее вычисляется в след. заходе время загрузки.
-
первый вариант:
нужно подсчитать время соединения с сервером во время загрузки 100 КБ данных.
Ну так и я о том же.
второй вариант:
в начале странице js ставит первый кук с временной меткой, потом в самом конце тоже js ставит вторую временную метку. Далее вычисляется в след. заходе время загрузки.
Если я правильно понял, под началом страницы подразумевается то, что до "", а под концом страницы - "". Интересная альтернатива.
-
имею в виду, точнее - время открытого сокета. (I вариант)
II вариант - в начале и в конце такая же конструкция.
думаю, второй вариант лучше, т.к. временные метки хранятся у пользователя. но при условии поддержки печенюшек и js.
-
в начале и в конце такая же конструкция
Ладно, согласен, моя поправка ничего принципиально не меняет.
А вообще, в моем случае, когда доступ имеют лишь несколько определенных пользователей, на клиента перекладывать создание временных меток нет особого смысла. Ваш же второй вариант удобнее для реально многопользовательской системы (но, опять же, если поддерживаются куки и js).
время открытого сокета
Вряд ли ОНО мне здесь понадобится, но хотелось бы знать... С сокетами знаком только теоретически, пользоваться не приходилось. Разве они могут использоваться в моем случае??? Если не трудно, примерчик...
-
http://www.info-techs.com/speedtest50.html
-
2Oak:
:) Люблю изобретать велосипеды.
А термометр у них забавный.
-
http://www.info-techs.com/speedtest50.html
ой :) а мне понравилось :)
после загрузки странички на Refresh нажать, вот результат:
Your line speed:
40800 Kbps
5000 K bytes/sec
не знал, что dial-up 56k может выдавать такие скорости :)
YA
измерять нужно, думаю, со стороны клиента.
пишется скрипт, который обращается к серверу и загружает страничку плюс измеряет скорость загрузки (не зависимо от броузера)
-
Я тут поэкспериментировал и сделал два вывода:
1) (2Dm) действительно, надежнее со стороны клиента;
2) надо обязательно проверять несколько тестовых страниц: начинать с маленькой (30-50 kb), а дальше ступенчато увеличивать (например, *2), пока время загрузки страницы не превысит некоторой величины; иначе на больших скоростях толком ничего не определишь.
-
P.S. Относительно моего второго вывода: разумеется, это приемлимо только для закрытой части сайта (мой случай), когда нужно поточнее определить скорость и на это можно потратить немного драгоценного времени.
-
2) надо обязательно проверять несколько тестовых страниц: начинать с маленькой (30-50 kb), а дальше ступенчато увеличивать (например, *2), пока время загрузки страницы не превысит некоторой величины; иначе на больших скоростях толком ничего не определишь.
т.е. грузить до опупения, пока таймаут не сработает :)
все это можно реализовать на JavaScript.
и еще раз обращаю внимание на кэш
-
:) :) См. выше (мы одновременно отправили ответы)
А использовать timeout - 10 сек. для этих целей вполне нормально.
-
YA
бывает :)
одним словом, в целом идея ясна ;)
-
Это всё неплохо было бы обобщить и закинуть в нужный здесь FAQ
а он, по-моему, назрел?! :)