1091 читатель, 60 постов
Администрация
Модераторы
Здесь обсуждаются методы получения высокой производительности веб-систем.
Разработчики из компании Google только что объявили, что работают над новым сетевым протоколом SPDY (читается как SPeeDY, то есть «быстрый»), который должен проапгрейдить протокол HTTP и значительно повысить скорость работы всех типов соединений.
комментарии (86)
а как скачать уже собранный?
а то я никак не мог проснутся с утра )))
А вообще это совсем не та область, в которой Гугл и Яху конкуренты. Ускорение выгодно обоим как разработчикам веб-приложений, и затягивать это дело конкуренцией было бы невыгодно.
Уж скорее стоит ожидать альтернативы от Майкрософт — протокол, который ускорит веб на 56 %… но лет через десять.
Кстати, телефонисты с VoIP signaling протоколами уже давным-давно прошли по аналогичным «граблям».
P.S.
ясно дело мы все уткнулись в чисто физические ограничения каналов => надо решать эту проблему, но в тоже время оптимизировать все остальное, самый дельный способ: смотрим дату последнего мажорого изменения в элементе, давно? крутим этот элемент. например от IPv4 уже давно пора отказываться.
А вообще, переход на новый протокол технически сложен и обходится очень дорого. Так что лучше тратить силы не на аналоги неплохо отлаженных и всеми поддерживаемых протоколов, а на что-нибудь действительно новое. Вот, например, есть интересный проект CCNX (content-centric networking).
www.ccnx.org/
если я вас правильно понял, то это равносильно увеличению размера фрейма
MD5 (kernel) = 0e81c7786ae6a7dab47cd09b900f8856 -приемник
MD5 (kernel) = 0e81c7786ae6a7dab47cd09b900f8856 -источник
du -h kernel
3,3M kernel
пришлось таймауты крутить, из-за того, что я нахожусь в США, а сервер в Сибири.
P.S.
bash.org.ru/quote/394858
То, что 700 фаил передастся с ошибками — 100%, ну и tcp тоже с этими же ошибками и передаст, только завдублит все много раз. и я уже говорил — я нахожусь в тысячах милях от своего сервера.
Вот инфа по uTP (micro TP)
bittorrent.org/beps/bep_0029.html -1
arstechnica.com/old/content/2008/12/utorrents-switch-to-udp-and-why-the-sky-isnt-falling.ars -2
www.thinkbroadband.com/news/3807-utorrent-shifts-towards-udp-to-make-it-work-better.html -3
А контроль целостности реализуется поверх протокола.
Очевидно, что использовать TCP лучше, чем UDP с кучей накрученных костылей.
от спуфинга она почему-то не спасает.
Если вам надо отправлять сигналы довольно часто, то установить соединение и отправлять сигналы по заранее установленному соединению — вполне приемлемо в большинстве случаев.
Если у вас данные идут сплошным потоком, то использовать UDP — это фигня в большинстве случаев.
Ествественно всё зависит от конкретной задачи. Если у вас производительность не требуется, то можно и на каждое сообщение TCP-соединение устанавливать. UDP (фактически user-level IP) оставили не просто так.
Ну и собственно, кроме TCP/UDP, для любителей экзотики, есть еще SCTP и DCCT. У SCTP есть реализация для винды.
Вот именно, только что хотел об этом напомнить. :-)
В телефонии им пользуются и не жалуются. (http://en.wikipedia.org/wiki/SIGTRAN)
Банеры, как правило, с других серверов идут, вообще-то.
В принципе для альтернативных протоколов (типа SCTP) не нужен даже UDP, они могут прекрасно работать и поверх чистого IP. Но на практике очень многие firewalls, провайдеры и т.п. убивают пакеты неизвестных им протоколов или сильно дискриминируют этот трафик. Поэтому в открытом Интернете использовать UDP надежней. В закрытых же сетях можно работать прямо поверх IP.
Если TCP работает быстрее, чем продвинутые дейтаграмм-ориентированные протоколы, то либо это плохие протоколы, либо проблема в шейпинге траффика недобросовестными провайдерами или оборудованием, которое специально отдает предпочтение TCP и дискриминирует UDP.
Если нет никакой дискриминации, то UDP в сочетании с умным протоколом работает быстрее, чем обычный TCP. Естественно речь идет о ситуации, когда часть пакетов теряется или повреждается. На идеальном канале без потерь, вариаций в задержке и искажений, «кондовый» TCP может быть быстрее — за счет поддержки на уровне ядра ОС и железа.
Другое дело, что не всегда оправданна разработка своего собственного протокола, если default (TCP) приемлем.
А вот время, затраченное на передачу, может быть на 50% меньше изходя из ситации описанной вами.
P.S.
Почитал оригинал, там действительно имеется ввиду время загрузки, а не скорость.
Вывод 1: статья криво переведена и ввела в заблуждение Brybndin и меня тоже :)
Вывод 2: всегда нужна ссылка на оригинал.
просветлиться, так сказать
blogs.iis.net/bills/archive/2007/5/7/1696624.aspx
digg.com/software/Apache_vs_IIS6_Which_handles_the_digg_effect_better
P.S.
не ожидал встреить фаната IIS тут, собстно я не троллю :)
а зачем?
>им можно рулит из консоли
да
> и хранить конфиг в sql?
0_0
>Или чтобы поднять вэь сервер мне надо обязательно графическую оболочку в систему ставить и держать ее запущеной?
не обязательно, Windows Core Install
>А когда можно будет все делать из консоли полноценно, а не через костыли — может даже поставлю потестить.
PowerShell
PS я не фанат, просто я знаю, что ИИС хорош, т.к. работаю как с апач/нжинкс+пхп, так и с ИИС+.нет
>> и хранить конфиг в sql?
>0_0
очень удобно для vhost'ов :)
>PS я не фанат, просто я знаю, что ИИС хорош, т.к. работаю как с апач/нжинкс+пхп, так и с ИИС+.нет
меня платформа .NET не привлекает.
>>Он ставится на *nix like?
>а зачем?
зачем мне плодить сервера если у меня уже есть сервера на freebsd,dragonflybsd?
>Win 2008 Web раздаётся майкрософтом на каждом углу (выставки, конференции, тренинги, даже когда банально пива попить приглашают)
в моем городе ниразу не было такого, мне в дефолтсити ехать за бесплатной виндой?
И насколько я понимаю на десктоп мне тоже придется ставить винду.
Им можно рулить из консоли. Более того, всей виндой можно рулить из консоли. Курим Win 2008 Server Core.
Конфиг штатно нельзя хранить в sql (хотя сторонние расширения вроде позволяют, не интересовался детально), но конфиг ииса — это обычный xml-файл, которым куда как удобней программно рулить, нежели реляционной sql-базой.
А вообще, IIS7+ вполне себе нормальный сервер, конфигурится от «мегашутстро отдаём статику, что аж nginx отдыхает» и до полноценного сервера приложений ASP.NET. Кстати, ASP.NET при грамотном подходе побыстрее PHP. В частности за счёт jit и возможности контроля запроса на почти всех стадиях его прохождения в сервере (т.е. на стадии принятия, распаковки, авторизации и т.д.).
И да, я сейчас работаю исключительно с ASP.NET и Win-платформой. Пришёл с nix'ов и просто счастлив тому факту, что не надо самому городить зоопарк из nginx+apache+php+memcached+eAccelerator+fastcgi и т.д. Теперь у меня всё в одном процессе и очень быстро.
PS: Следующим шагом своей эволюции считаю избавление от «реляционной зависимости» :)
PS3: Win-хостинг на том же паркинге от 99руб/мес :)
P.S.
скольже тут любитейлей MS. это пугает, надо срочно с этим, что-то делать.
Сенкс за ссылку. Интересно, почитаю.
Где-где…
en.wikipedia.org/wiki/TCP_congestion_avoidance_algorithm
Молодцы.
что-то я вот эту фразу не понял. Это как они тестировали этот протокол для крупнейших сайтов, если для тестирования необходимо также установить какую-то штуку, которая будет поддерживать этот протокол на серверах этих сайтов?
Особо узкие места выделили и сформировали команды по изучению проблемы.
Так что это не последняя статья про то, что гугл изобретает что-то по новой.
С другой стороны, они тут подкрутят, там подопрут и глядишь сделают незаметной глазу простого пользователя разницу между хранением документов на сервере и в локали.
То есть в рамках Chrome OS данный протокол найдёт своё применение, даже, если никто кроме серверов Гугла не будет его поддерживать.
PROFIT…
А сжатие HTTP-заголовков приведет к апгрейду межсетевых экранов, что куда дороже, чем удобство быстрого просмотра вКонтакте для сотрудников.
Успехов.
А надо понимать, что до adoption ее не такой уж большой путь.
Мест «где нужно поменять» глобально не так уж много.
Web-серверы
Vendor Product Web Sites Hosted Percent
Apache Apache 108,078,535 46.90%
Microsoft IIS 49,723,999 21.58%
Tencent qq.com 30,069,136 13.05%
Google GWS 13,819,947 6.0%
nginx nginx 13,813,997 5.99%
Т.е. если удатся убедить Apache включить в очередной билд поддержку SPDY (а поскольку это Open Source, можно предложить патч), то со стороны Web Server победа будет достигнута.
На стороне браузеров — ну вот Chrome явно получит поддержку SPDY. Firefox можно предложить патч или профинансировать разработку, в Firefox охотно к Гуглу прислушиваются.