Какое разумное время для создания веб-страницы? - PullRequest
12 голосов
/ 06 октября 2010

Я работаю над веб-приложением (на основе Rails 3).И мне действительно не нравится время, необходимое для генерации страницы - в зависимости от отображаемых данных это занимает до 2,5 и даже 4 секунд.

Так что мне просто интересно, каково среднее разумное время для генерациистраница в ваших приложениях.Например, вы проверяете время генерации, например, 750 мс, и думаете: «Хорошо, это должно быть хорошо, даже без кеширования».Или, когда вы видите 1.5сек, вы думаете: «Боже мой, пользователь не будет ждать так долго и покинет сайт»

Ответы [ 5 ]

13 голосов
/ 06 октября 2010

Существует огромное количество исследовательских данных, касающихся времени от запроса до рендеринга и опыта пользователя. Я бы порекомендовал прочитать эту статью на useit.com . Ведь Google интегрировал скорость страницы в свои результаты не зря;)

3 ограничения времени ответа сегодня так же, как когда я писал о них в 1993 году (на основании 40-летнего исследования пионерами человеческого фактора):

  • 0,1 секунды дает ощущение мгновенного ответа - то есть результат кажется, что это было вызвано пользователь, а не компьютер. Этот уровень реагирования имеет важное значение для поддерживать чувство прямого манипуляция (прямая манипуляция один из ключевых методов GUI для увеличить вовлеченность пользователей и контроль - Подробнее об этом см. наши Принципы семинара по дизайну интерфейсов).
  • 1 секунда обеспечивает непрерывность потока мыслей пользователя. Пользователи могут чувствовать задержать, и, следовательно, знать, что компьютер генерации результата, но они все еще чувствовать себя под контролем в целом опыт и что они движутся свободно, а не ждать на компьютер. Эта степень отзывчивость нужна для добра навигация.
  • 10 секунд удерживает внимание пользователя. От 1 до 10 секунд, пользователи определенно чувствую себя во власти компьютер и хотелось бы, чтобы это было быстрее, но они могут справиться с этим. Через 10 секунд они начинают думать о других вещи, усложняющие получение их мозги снова на ходу, как только компьютер наконец-то отвечает.

10-секундная задержка часто составляет пользователи покидают сайт немедленно. А также даже если они останутся, чтобы они поняли, что происходит, делая менее вероятным, что они будут добиться успеха в любых сложных задачах.

Как правило, думайте, что вы всегда должны стремиться к балансу времени оптимизации и полученного времени. Не тратьте дни на оптимизацию одной рутины, если ваши изображения не сжимаются правильно или ваши сценарии / CSS не объединены. Да, чем быстрее, тем лучше, но при создании интеллектуального кэша прирост страницы составляет 90%, а после недельной настройки алгоритма - 10%.

Также не смотрите слишком много времени на первый рендеринг, когда фреймворк должен загружать все, но используйте стресс-тестирование, кэшированное или нет, для моделирования различных ситуаций.

Теперь немного данных; некоторые из последних сайтов, над которыми я работал, использовали DotNetNuke, огромную CMS с открытым исходным кодом, и Asp.Net MVC, где вы ближе к металлу. Среднее время просмотра страницы со средним количеством запросов к базе данных составило 600-700 миллисекунд для DotNetNuke. Для Asp.net MVC это 70-100 миллисекунд ... Пользователям очень нравится второй:)

5 голосов
/ 06 октября 2010

На этот вопрос нет «правильного» ответа - чем быстрее, тем лучше. Лично я обычно стремлюсь к <200 мс, хотя по своему опыту знаю, что достичь этого в Rails может быть довольно сложно, кроме простых приложений. Попробуйте выяснить, где находятся ваши узкие места, и кешируйте все, что можете. </p>

Редактировать: Кажется, есть некоторая путаница между временем генерации страницы и временем визуализации страницы. Очевидно, что целью является быстрая страница рендеринг , и на большинстве сайтов, выполняющих такие действия, как сокращение HTTP-запросов, gzipping CSS / JS - это то место, где вы можете получить большинство ваших быстрых побед. Но если для создания самой страницы может потребоваться 4-5 секунд, то вы, вероятно, правы в том, что ваше приложение - это то, с чего вам следует начинать.

2 голосов
/ 06 октября 2010

Это зависит от того, что ничего не отображается в течение 2,5-4 секунд, или от того, что пользователь уже видит (часть) страницу с самого начала, и она полностью завершает загрузку через 2,5-4 секунды.В этом случае пользователь не испытывает нагрузку 2,5-4 секунды.Возьмите http://www.nytimes.com/ веб-сайт;Я вижу большую часть этого сразу, но, согласно веб-инспектору, для полной его загрузки требуется 1,94 секунды.

И имейте в виду, что скорость также будет зависеть от браузера, компьютера, интернет-соединения.То, что быстро для вас, может быть медленнее для других.

0 голосов
/ 06 октября 2010

Мое личное правило - ни одна страница не должна занимать более 0,05 секунд, или у вас возникли проблемы.

Пока вы пишете правильный код, вам не нужно тратить много времени на оптимизацию, чтобы оставаться в0.05.

Если вы придерживаетесь гигантских фреймворков, то вам не повезло.

0 голосов
/ 06 октября 2010

Измерьте свой счет apdex и посмотрите, как он работает.Это даст вам приблизительное указание.Оттуда вы можете решить, как вы хотите повысить производительность.

Это также зависит от того, какой у вас сайт;системное приложение для бизнеса или программное обеспечение как услуга (SaaS)?Если это системное приложение, пользователи вынуждены использовать его для согласования производительности.Если это SaaS, то чем выше ваш показатель apdex, тем больше у вас шансов потерять интерес вашего пользователя.

Существует несколько драгоценных камней, которые измеряют производительность и сообщают о том, каков ваш apdex.*

Вот немного больше информации: http://apdex.org/blog/?p=630

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...