Как Microsoft делала Live

Август 24, 2006 at 1:35 дп 20 комментариев(я)

Специалист из Microsoft, Scott Isaacs, набрался опыта в процессе разработки Live.com и поделился такими соображениями:

1. Контролируйте кол-во соединений с web-сервером

AJAX довольно прожорлив в плане конектов сам по себе. Если вы строите динамический интерфейс в стиле gmail, то “дергать” сервер приходится постоянно чтобы иметь актуальные данные на клиенте.

Скотт, также столкнулся с проблемой проверки кэша для картинки, которая была вставлена в страницу динамически. IE проверяет кэш для такой картинки каждый раз при её появлении на экране. Поэтому рекомендуется загрузить картинки в IE перед тем как их использовать. приблизитльно так:
<script>
preload_images(‘img1.gif’,'img1.gif’)
function preload_images(){
for (var x=0; x<preload_images.arguments.length; x++){
imar[x] = new Image();
imar[x].src = ‘img/’+preload_images.arguments[x];
}
}
</script>
2. Избегайте использования XML на клиенте

Браузеры тяжело разбираются с XML-ем в javascript-e. Поэтому без лишней необходимости с большими xml-ями лучше на клиенте не работать. На серверной стороне live.com RSS каналы хранятся в нормализированном виде (судя по всему в базе), на клиент передается лента в JSON формате.
Для сравнения приводится время обработки 150кб RSS канала на клиенте: в XML – 400ms, в JSON – 15ms.

3. Контент надо кэшировать

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

4. Разбивайте процесс загрузки приложения на модули

Для крупных AJAX приложений процесс загрузки модулей необходимо разделять и выполнять по необходимости.
Изначально загружаются только базовые бибилотеки, затем в случае необходимости модули Drag-n-Drop, затем RSS-библиотеки и т.д.
Действитльно правильный подход, помнится был где-то органайзер в стиле web2, который грузил два мегабайта внутренних JS-библиотек прежде чем показать окно регистрации.

5. Старайтесь не генерировать html на сервере.

Первичные шаблоны html-я могут быть загружены на первых этапах, но в дальнейшем их наполнение необходимо производить на основе мета-данных полученных через xmlhttp.

В дополнение к авторским пунктам:


6. Не забывайте о gzip, но и не увлекайтесь им.JS библиотеки и СSS очень полезно сжать gzip-ом и поставить разумный content-expiration.
Если вы придерживаетесь пункта 5 и у вас презентационный уровень представлен в виде HTML, а наполнение происходит данными из xmlhttp запросов, то HTML-шаблоны также имеет смысл сжать gzip-ом.
Сжатие динамических данных только излишне нагрузит процессор.

7. Обозначте понятие midia-хоста.

При планировании архитектуры вынесите медиа-сервер для хранения фото, видео или пользовательских файлов на отдельный хост. Так, чтобы загрузка у вас была не из “/video-store/myvideo.avi”, а с “http://media1.mydomain.com/video-store/myvideo.avi”

8. Забудте о всех нормальных формах баз данных:) ознакомьтесь с идей Lucene.

Entry filed under: ajax, architecture, browsers, css, Новости Web 2.0, gzip, javascript, json, live, live.com, lucene, microsoft, optimization, performance, Web 2.0, Web 20 Ru, web2, Web20, xml. Tags: .

Увеличение быстродействия сервера в условиях WEB2 – склейка картинок

Комментарии (20) Add your own

  • 1. Новости 2.0  |  Август 24, 2006 в 2:47 пп

    Обсудите эту новость на news2.ru

  • 2. woofer  |  Август 30, 2006 в 5:21 пп

    Интересная зарисовка. Вряд ли мне, как не технарю, прогодится, но познавательно :)

  • 3. generic cialis  |  Январь 17, 2007 в 9:27 пп

    generic cialis

    news

  • 4. Gift  |  Июнь 4, 2007 в 11:23 дп

    Nice resource, very interesting reading. retirements gifts

  • 5. LolleyNealt  |  Ноябрь 22, 2007 в 7:56 дп

    Ðåãèñòðàöèÿ â Áåëûõ Êàòàëîãàõ 8931 êàòàëîã – 30$
    Ïî âñåì âîïðîñàì ñòó÷àòü â ICQ 374551957

    Registratsija v Belyh Katalogah 8931 katalog – 30$ ICQ 374551957

  • 6. ICQMans  |  Ноябрь 28, 2007 в 1:55 дп

    Prodaiy ICQ za 12$ za vse.Ïðîäàþ ICQ 12$ çà âñå.
    274-693
    324-994
    564-567
    605-800
    695-769
    985-425
    132-335
    478-575
    Sviaz so mnoi ICQ 458411483. Ñâÿçü ñî ìíîé ICQ 458411483

  • 7. ICQManZ  |  Ноябрь 28, 2007 в 3:20 пп

    Prodaiy ICQ za 12$ za vse.Ïðîäàþ ICQ 12$ çà âñå.
    274-693
    324-994
    564-567
    605-800
    695-769
    985-425
    132-335
    478-575
    Sviaz so mnoi ICQ 458411483. Ñâÿçü ñî ìíîé ICQ 458411483

  • 8. NNdrovec  |  Январь 12, 2010 в 1:44 дп

    Alaev, никому не пригодится, нет толка от каталога Апорта.

  • 9. AlexGK  |  Январь 12, 2010 в 10:03 дп

    Sanek, а вы читайте внимательнее.

  • 10. Makakas  |  Январь 19, 2010 в 7:55 пп

    ну так какие заработки то в этой теме? сабж не раскрыт…

  • 11. Mironir  |  Январь 20, 2010 в 2:55 дп

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

  • 12. MaRarts  |  Январь 20, 2010 в 7:42 пп

    Функционал крут, но дизайн на нравится больше :

  • 13. MrFatc  |  Январь 21, 2010 в 10:20 дп

    Я веду блог для того чтоб научиться хорошо писать.

  • 14. Mcdonald  |  Январь 21, 2010 в 8:55 пп

    ЖЫРный сервайс. Только есть подозрение, что он в будущем станет платным :)

  • 15. Roloda  |  Январь 23, 2010 в 3:57 пп

    Странная штука жизнь – вроде затрахала, а не удовлетворяет…

  • 16. Rolodas  |  Январь 24, 2010 в 3:25 дп

    На поддомене было бы интереснее =)В целом сервис понравился

  • 17. Rikitik  |  Январь 24, 2010 в 7:02 пп

    Я тоже хочу что-нибудь умное сказать!

  • 18. daulapeappeve  |  Апрель 7, 2010 в 4:05 пп

    Некая дама говорила мне как нечто само собой разумеющееся: Я никогда не думаю – это меня утомляет; а если уж думаю, то ни о чем.

  • 19. daulapeappeve  |  Апрель 15, 2010 в 11:10 дп

    Церковь спасает грешников, а наука ищет способы остановить их производство.
    скачать железный человек 2 торент

  • 20. daulapeappeve  |  Май 13, 2010 в 12:22 пп

    Малые умы интересуются необычайным; великие самым обычным.

Добавить комментарий

Fill in your details below or click an icon to log in:

Логотип WordPress.com

You are commenting using your WordPress.com account. Log Out / Изменить )

Фотография Twitter

You are commenting using your Twitter account. Log Out / Изменить )

Фотография Facebook

You are commenting using your Facebook account. Log Out / Изменить )

Connecting to %s

Trackback this post  |  Подписаться на комментарии через RSS-ленту


RSS Мобильные Новости

  • Произошла ошибка; возможно, лента недоступна. Повторите попытку позже.

Наш архив

Свежие записи

Статистика

  • 16,486 посетителей

Follow

Get every new post delivered to your Inbox.