Дорогие все,
Наверное, с моей стороны это будет свинство, только пришёл на ресурс и уже начинаю ворчать. Я приготовился к отправке в моём направлении помидоров с пометкой "первым классом" и перехожу к сути.
Набираем.ру - как минимум оригинальный по своему исполнению ресурс. На нём ясно прослеживается идея, с которой он создан, а слова о создании культурного сообщества не могут не радовать. Вопрос интерфейса я затрагивать не буду, поскольку я не специалист в области UI/UX. Да и это, с моей точки зрения, довольно сложный предмет для проведения замеров, поэтому трудно будет избежать субъективной составляющей в дискуссии и задействовать что-либо более надёжное, чем метод экспертных оценок.
Хочу заострить внимание на другой стороне, а именно - ожидании ответа, но не оператора, а сервера. Буквально вчера вечером, скользя по страницам Набираем.ру, я не смог не заметить, что процесс "скольжения" чередуется с длительным ожиданием. Я решил полюбопытствовать, открыл инструменты разработчика в браузере и... Давайте просто взглянем на скриншоты ниже.
На скриншоте выше видно, что страница новостей загружалась 9 секунд. Отмечу, что это не 9 секунд на всё, а 9 секунд до появления вообще чего-либо на экране. Остальное занимает ещё некоторое время. Ну, думаю я, может в этой части не всё здорово, стоит посмотреть и другие страницы.
Страницу с собой-любимым я дожидался 13 секунд. На самом деле это вторая попытка её загрузить, первая длилась все 17 секунд, но это не важно. Дальше - больше.
Поскольку время было позднее, бодрствовали немногие. Я решил узнать, кто же из сотрудников портала работает ночами. Чтобы удовлетворить своё любопытство, мне пришлось прождать 38 секунд. 38 секунд, Карл! Простите, не смог удержаться от употребления этой фразы.
Для сравнения, один из интернет-магазинов обуви в США, над которым мне довелось в своё время трудиться, предоставил мне свою страничку за 1.5 секунды. Это не говоря о том, что в предыдущих ситуациях не было задержки из-за расстояния, а в этой - была. На подготовку самого ответа сервера и его доставку ушло всего чуть более 0.3 секунды.
Да и что с того, может подумать читатель моего творчества, вдруг они много денег вливают в вычислительные мощности?
Выше я привёл пример времени загрузки первой попавшейся страницы на моём личном сайте. Чуть более 0.2 секунды. Да, я понимаю, что сложность личного сайта и портала Набираем.ру - совершенно разная. Портал работает над гораздо большим объёмом данных и при подготовке страницы используется много источников. Но такая разница в сложности не может быть оправданием ожиданию в 38 секунд. Оговорюсь, что мой личный сайт размещён на виртуальном сервере за 6 евро в месяц, который, если не ошибаюсь, размещён в Эстонии.
Кстати об источниках...
На сайте используется SSL-сертификат, но не все данные идут по зашифрованному каналу. Я, конечно, не брезглив, понимаю, что основной массив данных (особенно важно - данных, нужных для доступа к аккаунту) идёт через зашифрованный канал. Но всё же, как-то это режет глаз, когда отображается такое сообщение в браузере.
Мне кажется, что для ресурса, на котором уже 669900 участников, будет актуально провести профилирование своих алгоритмов по подготовке веб-страниц, также как и запросов к СУБД. Опять же, интерфейс, красота кода и подобное я не рассматриваю, так как это совсем иной вопрос.
Чтобы как-то завершить своё повествование, приведу одно из основных правил процесса "Code Review". A common axiom is "Don't take it personally. The review is of the code, not you." В моём вольном переводе это будет звучать так: "Общая аксиома такова, что не следует воспринимать сказанное лично. Оценивают ваш код, не вас самих."