У меня есть клиент, чей желаемый веб-интерфейс графически насыщен; мы хотели бы собрать статистику о средней пропускной способности тех, кто подключается к сайту. Есть простой способ сделать это? «Самая простая вещь, которая могла бы работать» - это компонент Flash или Silverlight, который время от времени загружает файл некоторого размера (скажем, 200 КБ), а затем отправляет результат POST в URI, который сохраняет данные. Это сработает? Должен ли я написать свой собственный или есть простой элемент, который я могу скачать откуда-нибудь?


Я бы посмотрел на Google Analytics. Это простой javascript, который вы включаете на свою страницу, и он использует массивные аналитические базы данных Google, чтобы отслеживать, кто обращается к вашему сайту по каким типам соединений, и все это находится в базе данных, которую они поддерживают.
Вы, конечно, можете написать компонент Flash или Silverlight (или javascript), чтобы загружать файл в фоновом режиме, рассчитывать время и сообщать об этом, но вы, скорее всего, рассердите своих пользователей за то, что они заполнили свои трубки.
Google Analytics предоставляет анализ скорости пользовательского сетевого подключения. Он доступен в меню Посетители-> Свойства сети-> Скорость подключения.
Ты прав. Я был неправ. Google Analytics - хорошее решение (в данных есть определенное количество «информации, недоступной», но это нормально для наших нужд).
Для этого не так уж много инструментов.
Вы можете попробовать BrowserHawk (http://www.cyscape.com/products/bhawk/features.aspx). См. http://www.cyscape.com/showbrow.aspx?bhcp=1 и прокрутите вниз до сведений о подключении.
Вероятно, самый эффективный способ - позволить посетителю решать. У вас может быть целевая страница с двумя большими кнопками с надписью «быстрое соединение» и «медленное соединение», и пусть они нажимают одну.
Помните, что если вы сделаете это, вы потеряете определенное количество посетителей на этой странице, поскольку они будут слишком ленивы или бескорыстны, чтобы беспокоиться о нажатии. Возможно, вы захотите просто перейти на тяжелую версию сайта и иметь где-нибудь на навигационной панели кнопку, которая позволяет им переключаться вперед и назад.
Мне это кажется довольно простым.
У вас должно быть эффективных байтов в секунду для этого Пользователь.
Веб-сервер Apache может регистрировать, сколько времени занимает запрос (в секундах); объедините это с чем-то вроде mod_logio, чтобы узнать, сколько данных вы фактически отправляете клиенту, и определить КБ / сек.
http://httpd.apache.org/docs/2.0/mod/mod_logio.html
http://httpd.apache.org/docs/2.0/mod/mod_log_config.html - ищите '% ... T'
Google прекратил регистрировать скорость подключения пользователей с 2011 года. Вот запись в блоге Google от 23 марта 2011 года -
https://analytics.googleblog.com/2011/03/fond-farewell-to-connection-speed.html
Не прямой ответ, но, возможно, вы решаете не ту проблему.
В зависимости от того, кого вы слушаете, около 60% пользователей веб-сайтов просматривают сайты с мобильных устройств. Мобильные устройства обладают крайне непредсказуемой пропускной способностью - от «неограниченной» в быстрой сети Wi-Fi до «коммутируемого доступа 1990-х годов» вдали от вышек сотовой связи. Если они проводят 50% своего времени в корпоративном Wi-Fi со скоростью 100 Мбит / с и половину своего времени в сотовой сети со скоростью 500 Кбит / с, среднее значение будет плохим показателем их опыта в 50% случаев.
Если вы посмотрите на среднее значение и скажете: «Эй, среднее значение намного превышает 10 Мбит / с, поэтому мы можем предположить, что 1 Мбит / с - это безопасный минимум», ваши пользователи будут испытывать ужасные впечатления в половине случаев.
Кроме того, существует сложная взаимосвязь между размером файла, количеством одновременных загрузок, выполняемых веб-браузером, и субъективным восприятием конечного пользователя. Если у вас есть веб-страница, для которой в общей сложности требуется загрузка 5000 КБ, и она не отображает ничего, пока страница не будет полностью загружена, она будет работать очень медленно. Если вы загружаете элементы постепенно и выполняете ленивую загрузку по мере того, как пользователь прокручивает страницу, сайт будет работать быстро.
Затем вы получаете кеширование браузера - если у вас тяжелый сайт, но вы можете кэшировать много ресурсов в браузере, субъективное восприятие может быть действительно хорошим (после первой загрузки).
Я рекомендую согласовать минимальную пропускную способность, которую ваш сайт будет поддерживать, имея достаточный опыт, и основывать это на производительности мобильной сети на вашем целевом рынке. В странах с хорошим покрытием мобильной связью я бы предположил, что 500 Кбит / с; в странах с широко распространенным 4G я бы поднялся до 1 Мбит / с.
Google Analytics не отслеживает и не профилирует потребление полосы пропускания.