Главная
страница 1

В поисках чёрной кошки



Сценарист: Ну, значит, что. Вам уже должен был наш начальник позвонить, сказать, что мы вас наняли. Что он считает, что мы все дураки, козлы и идиоты, что мы ни черта не понимаем, а вот аутсорсеры, раз они берут такие деньги, должны хорошо во всём разбираться. Так что поэтому вас наняли. Ну и теперь мы, технические специалисты, расскажем вам, в чём проблема на самом деле состоит. Значит, у нас здесь в городе Свердловске центральный филиал. А в московском царстве есть побочный филиал. И для того, чтобы они совместно работали, производили там какой-то бизнес и так далее, у нас внедряется некая система, название которой запрещено произносить вслух, но, в общем, она есть. В чём проблема состоит. Проблема состоит в том, что эта дрянь работает жутко медленно, т.е. там какие-то простые странички, формочки загружаются по минуте, работать ни черта всё не может. Они говорят, что это мы козлы, что у нас каналы плохие, сделайте ваш интернет нормальный. Мы считаем, что это программисты козлы, ни черта они нормально написать не могут. Ну и мы просим вас дать заключение, что это не мы козлы, что это они козлы. Вот. Вкратце так. Если что-то нужно пояснить – мы с радостью.

Критики: Т.е. у нас фактически есть end-to-end приложение.

С: Ну да, есть некое приложение. Т.е. у нас стоят сервера, которые его поддерживают. Облако развёрнуто на базе трёх серверов, в которых вся эта дрянь как-то крутится. А у них сидят клиенты, которые, значит, через веб-интерфейс, через Internet Explorer работают.

К: А облако виртуализовано?

С: Ну, оно называется облако. По факту там, фактически, это виртуальные машины. Ну т.е. есть некий сервер, на нём виртуалки крутятся. Ну, веб-сервер есть, сервер приложений, база данных. Вот, фактически, три сервера и есть.

К: Всё медленно крутится – сервер расположен у нас, или в Москве?

С: У нас.

К: А медленно всё из Москвы к нам?

С: Да. Ну у нас работает тоже не шибко чтоб быстро, страницы загружаются не по минуте, а секунд по 10.

К: А машинок-то несколько, на которых это всё загружено виртуализированных?

С: Ну как. Есть веб-сервер, они к нему подключаются.

К: Но он один физически?

С: Физически он один.

К: На нём несколько виртуальных машин?

С: Ну там как. Его тоже писали интеграторы, большие специалисты в этом деле. Оно написано, по-моему, на SharePoint. Работает, они говорят, что это очень модно прогрессивно, эффективно и так далее.

К: Бывает.

С: Да. Так оно работает. В частности, одним из требований было, чтобы веб-сервер, который веб-мордой является, имел не менее 32 гигабайт оперативной памяти.

К: У-у-у.

С: Иначе оно не работает. Вот. Ещё они требуют, чтобы это всё замечательно работало, чтобы у клиентов стоял процессор не менее 4 ядер и памяти не менее 8 гигабайт.

К: Что показывает использование ресурсов на ферме серверов?

С: А у нас нет туда доступа!

К: А, вообще?

С: Аутсорсеры всё забрали себе и нас не пускают. Говорят, разберитесь со своими каналами сначала. Т.е. что-то есть и так далее, но нам говорят, что нужно клиентом пользоваться.

К: И в локале мы не можем поднять даже один сервис?

С: Не, в локале мы можем клиента подключить. Мы пробовали, ну как-то оно работает. Побыстрее работает. Но не сильно. Ну как не сильно. Раз в 10 быстрее. Там по минуте страницы грузятся, у нас всего 6 секунд. Вот.

К: Изначально так всё работало?

С: Ну, в общем, да.

К: Давайте из филиала ЕКБэшного, точнее из нашего главного офиса пинг до фермы серверов пустим до чего-нибудь там.

С: Пингуется оно на ура. Меньше одной миллисекунды. В принципе, тут нормально всё. Даже если из другого VLAN – тоже хорошо. По пингам всё зашибись, мы поэтому и считаем, что проблема не в каналах, проблема в их поганом приложении. Они говорят: нет, у нас всё зашибись, это у вас каналы плохие. Давайте сделаем выделенный канал от Москвы до Екатеринбурга, и тогда всё заработает.

К: Интересно. Т.е. клиенты у нас какие-то локальные есть.

С: Есть. У них работает быстрее.

К: А если там Shark поставить, и посмотреть, что происходит?

С: Чего поставить?

К: WireShark.

С: А, WireShark. Так оно же по HTTPS, чего мы посмотрим.

К: Т.е. там mailform пакеты не приходят. Ну во-первых, HTTPS там же SSL сессия поднимается, можно посмотреть, может у нас SSL сессия постоянно рвётся по каким-нибудь критериям и поднимается заново.

С: Да нет, как бы не похоже на то. Т.е. оно как-то работает, но очень медленно. Результаты стабильные. Проверяли в разных местах – примерно показывает одно и то же время. Иногда чуть быстрее, иногда чуть медленнее.

К: QoS какой-нибудь настроен между серверами и…

С: Нет, а зачем?

К: Ну мало ли.

С: У нас и так менее 1 миллисекунды пинги, зачем нам QoS. А в интернет QoS чего настраивать, там провайдер всё равно скажет: у меня своя епархия, идите отсюда.

К: А какое оборудование в цепочке можем посмотреть?

С: Ну как. У нас есть маршрутизатор наш центральный, который у нас VLAN маршрутизирует, который к интернету подключен. Коммутатор есть, в который мы воткнуты, коммутатор есть, в который всё это хозяйство воткнуто. Это всё мы можем посмотреть. И в Москву мы можем писать – может они там чего-то тоже посмотрят, но обычно они отвечают на совершенно не тот вопрос, который им задали.

К: Ну а что с нагруженностью исходящего в Москву интерфейса у нас маршрутизатора?

С: Интернета который?

К: Да.

С: Обычная загрузка, пилами. Днём больше, ночью почти нет ничего. Полок горизонтальных нет, в потолок не упираемся. Иногда бывает, начинают качать с торрента чего-то, но мы быстро докачиваем и закрываем.

К: А что вообще на маршрутизаторе есть, что там настроено?

С: Так, ну как. Там, чего настроено. Ну интерфейсы, понятно, IP адресация настроена ля-ля-ля-ля, NAT сделан, ACL висят на NAT, ограничение доступа к серверам, чтобы там только по HTTPS подключалось, ещё всякая дрянь. Есть, значит, возможность подключаться к нему по IPSec, там надо было нам когда-то, до сих пор есть. Мониторинг всякий настроен: NetFlow, SysLog ля-ля тополя. Ну, так вроде бы основное всё. А, маршрутизация статическая.

К: На коммутаторе, в который все сервера воткнуты, там как дела обстоят?

С: Так как обстоит? Гигабитный коммутатор. Кабели, которые идут к серверам, там сделан EtherChannel. А, собственно к маршрутизатору, на маршрутизаторе у нас портов не так много, там только один гигабитный линк. Если вы мне скажете, что одного гигабита мало, чтобы оно по интернету нормально работало, ну извините.

К: Всяко бывает. А сколько у нас линков-то к ферме серверов.

С: Ну, от маршрутизатора идёт провод в коммутатор и там к каждому серверу по два провода.

К: К каждому серверу по два провода.

С: Две сетевые карты, их объединили, чтобы было быстрее. Аутсорсеры так придумали, типа это круто, будет работать в два раза быстрее.

К: А сколько всего проводов-то получается?

С: Три сервера – семь проводов выходит.

К: А, три сервера. Если посмотреть загрузку на интерфейсе маршрутизатора, который в сторону этого коммутатора смотрит – там сколько?

С: Ну там, по-моему, больше 100 мегабит не поднимается. Т.е. оно как-то не забито. Коммутатор тоже, вроде, более менее справляется. Нет, если бы в статистике показывались эти полки, что дошло до максимума и вот, то мы бы да, наверное, подумали, что действительно в сети проблема. Так-то выглядит всё кошерно.

К: Балансировка какая-то настроена между серверами?

С: Хрен его знает, нас туда не пускают. Для нас они чёрные ящики.

К: Нет, на коммутаторе.

С: На коммутаторе сделан EtherChannel.

К: Всё?

С: Всё, больше вообще ничего не стоит. Там даже всё в одном VLAN.

К: А там Half или Full Duplex на коммутаторе в сторону серверов. Чего-то как-то странно, что они по две сделаны. Чего-то меня это настораживает.

С: Да нет, там не оптика, там витая пара, Full Duplex, всё такое. Гигабит же. Гигабит half не бывает, насколько я помню.

К: Не должен быть.

С: А, вообще да, это в их способностях.

К: Давайте посмотрим, что на коммутаторе на интерфейсах лежит. Show running-config interface.

С: Так, собственно говоря, настройки EtherChannel и всё, больше там ничего нет. Коммутируемые порты, и ничего не включено. Там конфиг… Без EtherChannel было бы… Зато очень дорогой коммутатор купили. Поддерживающий кучу фич. Третьего уровня коммутатор.

К: Ошибки давайте посмотрим на интерфейсах, который к серверам смотрят, какие есть?

С: Да, в общем-то, вроде никаких нету.

К: А ошибки на интерфейсе между пограничным коммутатором, маршрутизатором и московским?

С: В смысле?

К: Ну…

С: От нашего маршрутизатора в сторону интернета интерфейс?

К: Да.

С: Ну как, там, кончено, есть некоторое количество ошибок CRC, но их очень мизерный процент, доли процента, я не думаю, что в этом дело. Без этого-то как? Публичная линия.

К: Jumbo Frame какие-нибудь?

С: Нет, нету. Ну там на миллион пакетов может 3-4 CRC ошибки.

К: Н-да. Не похоже. А что у нас со статистикой дропнутых пакетов на интерфейсах?

С: Ну, поскольку у нас нигде никакие rate-limit не настроены, то, в общем, оно справляется. Если оно где-то и дропается, то у провайдера. Что до нас доходит, мы спокойно передаём. Канал у нас, подключение к интернету 15 мегабит. Интеграторы в задании написали, что подключение между офисами должно быть со скоростью не менее 128 килобит в секунду и временем отклика не более 10 миллисекунд.

К: Между свитчом и роутером тоже никаких дропов нет?

С: Нет.

К: Что у нас маршрутизирует между нами и Москвой? Имеется в виду, какой протокол маршрутизации используется?

С: У нас статический маршрут в сторону интернета, маршрут по умолчанию. А так там VPN поднят.

К: VPN.

С: Да. Но роутер на 100% не загружен. Он справляется.

К: Вы говорили NAT настроен ещё.

С: Настроен.

К: Сомнительно. Это доступ к серверам и больше ничего.

С: Ну, этого у нас нету.

К: Чего?

С: Доступа к серверам.

К: Но из Москвы-то мы ж можем.

С: Мы можем клиентом.

К: Я имею в виду, NAT скорее всего для доступа к серверам и всё.

С: Да, нет, там NAT по идее не должен использоваться.

К: Там он вообще не должен использоваться, мы же через туннель ходим. А, мы через туннель ходим. Зачем нам тогда NAT? Давайте show running-config.

С: NAT чтобы в интернет ходить.

К: А, в этом смысле.

С: Это совершенно гениальное решение: мы будем ходить по HTTPS через защищённый VPN туннель. Чтобы было секьюрнее.

К: Что у нас стоит в Москве?

С: Там у них по-моему стоит какой-то виндозный сервер для подключения к интернету, а, значит, VPN терминируется, значит, они какую-то Cisco купили, значит, ну такую типа 1841.

К: И как на ней дела обстоят?

С: Что у них?

К: Как на ней загрузка?

С: Загрузка… В общем-то она используется только для туннеля, поэтому загрузка не сильно большая. Поэтому так, чего-нибудь в районе процентов 10-15. От силы.

К: А сколько у нас получается…

С: Людей?

К: Нет, время жизни IPSec соединения от Москвы до нас? Насколько часто оно закрывается? Скажем так, при работе с приложением насколько часто оно закрывается и поднимается вновь?

С: Там вроде сутки стоят.

К: Сутки стоят. Блин, даже не знаю тогда. Тогда нормально всё.

С: Нет, понимаете, эти туннели делали всё-таки мы, поэтому там всё по-человечески. Вот. А остальное делали специалисты, поэтому там чёрте как. А сейчас говорят, что мы козлы, что мы виноваты во всём, что, значит, всё неправильно, всё не так, значит. И требуют, чтобы мы позвонили провайдеру, разобрались с ним, какого чёрта у него такой медленный интернет.

К: В Cisco не говорят позвонить? Богу помолиться?

С: Богу молиться они скажут, если мы ни черта не сделаем. В Cisco – они просто слов таких не знают.

К: А жаль, потому что такой опыт есть.

С: Да, и что Джон ответил?

К: Он спал. Как-никак 13 часов разницы. Нет, сначала он матерился, потом…

С: Надо было с утра звонить.

К: Ладно, поскольку ничего не понятно, какие у нас VLAN на свитче, и собственно, какие интерфейсы?

С: Так, собственно говоря, вот у нас, можно сказать, три зоны, нет четыре. Четыре VLAN получается. Один – это локальная сеть, вторая – это вот эти сервера. Ну там DMZ, почта есть какая-то, ещё там всякая фигня, корпоративный веб-сервер. Значит, это всё в DMZ засунуто. Потом VLAN, который в сторону интернета смотрит. Нам удобнее не в маршрутизатор терминироваться, а через коммутатор пропустить, чтобы потом если мы захотим интернет потестировать, мы могли в ещё одну розеточку воткнуться напрямую компьютером и чего-то проверить. И ещё отдельный VLAN у нас сделан для сбора статистики, чтобы это было секьюрно, чтобы туда никто не мог попасть.

К: В смысле? Это как?

С: В смысле, что IPшники, которые настроены в SysLog, SNMP, сервер, который всё это собирает – всё это в отдельном VLAN.

К: Для большей секьюрности чтобы.

С: Чтобы по локалке это всё не бегало. Ну и в DMZ чтобы этого не было.

К: Не получается ли у нас так, что у нас сначала… Никакого кольца маршрутизации не получается?

С: Ну, наверное, можно извратиться с VRFками, но мы же не извращенцы. Мы же не интеграторы.

К: Ну смотри, они пропускают интернет-траффик через VLAN. Они же его вот так гонят. Ну, это нормально. Это нормально, но я не знаю, там вот такого какого-нибудь не получается?

С: Я могу даже топологически сказать. Вот у нас есть маршрутизатор. У него один порт отдельно в тот коммутатор, где у нас все сервера воткнуты DMZшные, ну и… Получается, там не 7 проводов, там ещё восьмой есть, потому что он ведёт в отдельный коммутатор, куда остальные сервера воткнуты. Вот, а второй порт у нас воткнут в коммутатор, там у нас есть разные VLAN, на палочке маршрутизация. Туда интернет воткнут, от этажных свитчей туда провода приходят. Ну и сервер статистики туда же воткнут. Вот. Такая идеология. Они потребовали, чтобы всё было в отдельном порту, чтобы это было быстрее. А то, дескать там гигабитный линк, он же не справится с такой нагрузкой. Сейчас оба эти порта загружены от силы на 200 на 300 мегабит. Ну захотелось им!

К: У нас траффик при передаче в Москву как-нибудь маркируется?

С: Нет. Так а толку, у провайдера же всё равно свои идеи относительно того, что приоритет, а что не приоритет. Если бы у нас вся линия была под нашим контролем, оно бы имело смысл. А так… Не, мы, конечно, можем сделать, если хотите. Но я не думаю, что от этого какой-то толк будет.

К: Давайте в тупую tracert из Москвы до нашего target сервера с приложением.

С: Ну как, значит. Оно стандартным образом идёт: Москва, Амстердам, Москва, Екатеринбург.

К: Откуда мы Амстердам-то видим? Совершенно спокойно, у меня через Франкфурт… Из тоннеля мы Амстердам видим? У меня через Франкфурт маршрутизируется… Толя, мы из тоннеля его видим?

С: Нет, это не тоннель, это была маршрутизация от Москвы до Екатеринбурга.

К: Нет, от Москвы до target сервера до нашего, до application. Через тоннель всё идёт.

С: А, через туннель пускать. Тогда да, маршрутизатор, наш маршрутизатор и сервер получается.

К: Давайте на свитче show running-config и на интерфейсе, который смотрит к маршрутизатору.

С: Который в сервера?

К: Который в сторону маршрутизатора, который с серверами.

С: Ничего нету.

К: Ничего нету?

С: Ничего не настроено. Т.е. он видит всё по автомату и так далее. Если show interface посмотреть, что full duplex, гигабит.

К: В смысле? А VLAN, Trunk?

С: А VLAN зачем? На этом коммутаторе только один VLAN. У нас же два коммутатора. У нас есть коммутатор, в который воткнута локалка, в который воткнут интернет, в который воткнута статистика – это выходит в один интерфейс маршрутизатора. А другой интерфейс маршрутизатора – он целиком обслуживает DMZ. Поэтому у тех коммутаторов VLAN нет, они там не нужны.

К: Понятно. Т.е. он там коммутирует всё совсем не в том VLAN, в котором должен.

С: Формально да, он там называется VLAN 1, ну и что. В принципе, туда можно поставить неуправляемый коммутатор, будет работать точно так же. Разве что EtherChannel не будет.

К: VTP домены?

С: Да, нет, нету. У нас же маршрутизатором всё это получается разорвано.

К: Т.е. у нас, у нас, у нас, у нас EtherChannel. Может, там это… А если мы сейчас CAM таблицу посмотрим?

С: Кого?

К: Ну ARP записи.

С: А что вы хотите увидеть?

К: Я не знаю, что я хочу увидеть.

С: Да нет, там всё в общем довольно стабильно работает. Т.е. лишних никаких нигде MACов не светится, всё что куда надо, туда и отправляется.

К: Т.е. если мы ещё в один порт на коммутаторе этом воткнёмся и посмотрим сниффером, что происходит, то ARP запросы ходят?

С: Ну, в общем да. Нет, у нас же из локалки тоже это дело всё в общем работает. Работает быстрее… По 6 секунд страницы грузятся, не по минуте.

К: Т.е. если подключить сервер к коммутатору, который для локалки, то работает быстрее?

С: Нет, не сервер, клиента. Вот если мы из Москвы подключаемся, там минуту страница грузится стартовая. А если мы из нашей собственной локалки, не через интернет, то оно работает быстрее. Вот. Они поэтому, собственно, и говорят, что блин, у вас же нормально работает, а у нас плохо. Значит дело в интернете, разберитесь со своим провайдером.

К: А если мы для эксперимента подключим, например, один из серверов к порту коммутатора, к которому наша локальная сеть подключена. Как с ним связь будет устанавливаться? Можем мы так сделать?

С: М-м-м… Ну там же другая IP сеть. Как мы, мы же на сервер попасть не можем.

К: Ну, я хочу создать…

С: Если без маршрутизатора, как оно будет работать? Это что ли хотите проверить?

К: Да.

С: Тогда мы можем просто клиента воткнуть туда и посмотреть.

К: Ну клиента туда.

С: Ну, примерно в такие же времена всё работает.

К: В смысле, 6 секунд?

С: Да, где-то примерно те же 6 секунд.

К: А из нашей локалки 10?

С: Нет, из нашей локалки 6, а из Москвы 60.

К: Хорошо, когда клиент напрямую подключен к коммутатору, к которому сервера подключены, если трассировку включать, он показывает какие-нибудь хопы промежуточные?

С: Нет.

К: Напрямую ходит?

С: Всё напрямую ходит. Оно этот коммутатор в принципе не покидает. Ну кроме как к серверу.

К: Значит EtherChannel. Ну, у меня такое же ощущение. EtherChannel по какому: LACP или что там работает? Просто статически включен, как?

С: М-м-м… Там сервера какой-то один стандарт поддерживали, его и настроили. По-моему, статически прописали.

К: Так, EtherChannel что-то не то делает.

С: Мы можем один кабель, допустим, выдернуть.

К: Давайте выдернем из каждого сервера по одному кабелю.

С: Ну выдернули.

К: Работа ускорилась?

С: Нет. Ничего не ускорилось. Было бы и странно, если бы оно чего-то ускорилось. Во-первых, у нас всё равно идёт передача по одному проводу от одного клиента до одного получателя по стандарту EtherChannel. Во-вторых, там пропускной способности был вот такой вот запас, и ему второй провод был нафиг не нужен. Просто вот так вот круче. Две купить сетевушки гигабитные. Это ж какие деньги!

К: Если мы, скажем, с нашего маршрутизатора…

С: Я думаю, что никто не заметит, если мы оставим по одному порту.

К: До Московского маршрутизатора задержки сколько?

С: Наверное, получается где-то в районе 60 миллисекунд.

К: А сколько должно быть? Я забыл.

С: Ну как? Для похода через Амстердам в принципе ничего.

К: В техническом задании сколько?

С: В техническом задании они говорят, чтобы не более 10 миллисекунд чтобы было. Мы им пытались объяснить, что ребята, вот просто по законам физики свет не успеет туда обратно 2000 километров пройти за 10 миллисекунд, они говорят, это не наши заботы, это ваши проблемы.

К: Они сказали: используете радиоволны, но не учли что это… Мне кажется, это не спроста всё. Что? 60 миллисекунд? Да.

С: Мы через Амстердам же ходим.

К: Ну.

С: Они говорят, типа, разберитесь со своим провайдером, почему через Амстердам ходим. Пусть сделают так, чтобы ходило нормально. Наш местный екатеринбургский провайдер пусть сделает, чтобы в Амстердаме всё было. Они ещё говорят, что; мы их спрашивали, какое у них самих подключение к интернету, а они говорят, что у нас всё зашибись, у нас Яндекс, измеритель скорости интернета показывает, что скорость 60-70 мегабит в секунду, хотя раньше они говорили, что у них подключение к интернету 20 мегабит.

К: Может у них там какой-нибудь exchange с Яндексом напрямую.

С: Может быть. Может быть он у них считается локальным сегментом. Сейчас они бьют себя в грудь, говорят, у нас 70 мегабит, а у вас 15, у вас все проблемы.

К: А никаких программ, firewall в DMZ?

С: Ну, access-listы стоят, которые ограничивают доступ по определённым портам. Ничего такого экзотического. Т.е. IPS не настроен, ничего. Роутер справляется со всем этим хозяйством.

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

С: Это в Москве?

К: Нет, здесь. Ну вот в офис домашний ноутбук принесли, подключаетесь к серверу и то же самое?

С: Точно так же медленно.

К: Т.е. компы тоже исключаем.

С: С домашними ноутбуками вообще тяжело, потому что они требуют Internet Explorer, а он не везде есть.

К: Понятно. Explorer сам по себе за 6 секунд не грузится. Проблема решена.

С: Там чёткие требования. У компьютера должно быть не менее 4 ядер процессора, не менее 8 гигабайт оперативной памяти.

К: Ну, это же Explorer.

С: Ну да. Видимо, без этого Explorer становится узким местом. Ещё нам московские товарищи писали, что интеграторы когда к ним придут тестировать проверять, чтобы мы проследили, чтобы они ничего на серверах не подкрутили. А то они что-нибудь сделают, покажут хороший результат, потом сделают назад, и у нас снова опять будет плохо. При этом доступ на сервера не дали.

К: Интересная у вас контора.

С: Ну что вы, это наша работа.

К: А может привести всё в соответствии с требованием техзадания?

С: Вы предлагаете 10 миллисекунд время отклика между Екатеринбургом и Москвой сделать?

К: Да, сделать политику маршрутизации, если время отклика больше 10 миллисекунд резать просто траффик.

С: Мы на самом деле как-то посчитали, как можно сделать пропускную способность выше задёшево. Мы прикинули, сколько в одну фуру помещается DVD дисков…

К: Да, мы знаем.

С: Да, их там входит довольно много. Если фура 30 часов едет, то получается у нас пропускная способность в районе 2 терабит. Хорошо. Правда, там будет проблема с временем отклика…

К: Время на упаковку и запаковку входит?

С: Нет, не входит. Но мы же можем распараллелить вообще-то.

К: Не бесконечно параллелится.

С: Мы им предлагали такое решение, оно их не устроило.

К: А ещё нарезать. Да, ещё нарезать. Тогда надо флешки, ещё больше входит.

С: Да, можно флешки послать, будет более быстрый канал. Это мы не подумали, спасибо.

К: Мы смотрим, какие приложение порты открывает. У нас ACL не закрывает случайно никакие порты, которые должны быть открыты?

С: Ну вряд ли оно бы работало, если бы что-то закрывалось.

К: Ну мало ли там какие-нибудь, extended порт для передачи данных. Толя, HTTPS.

С: Там всё идёт внутри HTTPS, которые открыты. Там какая-то стоит веб-морда.

К: 443. Что 443? Ты 8080 HTTPS кидаешь? Конечно.

С: Не, у нас 443, у нас всё секьюрно.

К: …

С: Так вот мы и говорим, что у нас всё нормально с интернетом, что вы тут сами какую-то фигню предлагаете, а теперь на нас бочку катите. Мы от вас и просим это заключение, что с сетью всё в порядке, и сами они козлы.

К: Предположим, я принёс туда к вам к локальному коммутатору ноутбук, подключился…

С: Так.

К: Поднял FTP-сервер.

С: Так.

К: Посмотрел, с какой скоростью слить файл по локалке.

С: По локалке…

К: Мы получили какое-то число, хорошо.

С: Там получится вполне себе хорошее число, оно скорее всего будет что-то в районе 10 мегабит в секунду просто потому, что у нас на этаже 100 мегабитные порты.

К: А из Москвы сколько будет?

С: Из Москвы… Ой, не 10 мегабит, 10 мегабайт в секунду. Т.е. близко к 100 мегабитам получится. Значит, из Москвы… Ну смотрите, у нас 15 мегабитный канал. Понятно, что что-то съедается на интернет траффик, но в принципе мегабит 6-7 в секунду вы получите. Конечно, зависит от времени тестирования, но вполне себе так вот. В сутки. Без явных провалов.

К: Т.е. если ноутбук подключить к коммутатору серверов и качать с коммутатора, который в локальной сети коммутатор…

С: Если из локальной сети качать, там будет порядка 100 мегабит, потому что у нас 100 мегабитные порты на этажах.

К: …Посмотреть задержки. А чем мы это будем делать? Интересный вопрос. Ты чего хочешь то? А, любой комп втыкаем в маршрутизатор, две ещё… Хотим сделать этот, программные задержки и протестировать роутер… Да нафига роутер, просто комп поставить с двумя сетевыми картами. И роутер. Ну можно.

С: У вас есть такой девайс?

К: Есть.

С: Ну здорово, давайте проверим.

К: Принесли такой старый обшарпанный комп, в него воткнули две сетевухи, один конец воткнули в коммутатор, другой в компьютер, подняли unix, вся фигня. Добились задержки нужной, порядка 60 туда-сюда. Попробовали запустить это замечательное приложение.

С: Так.

К: Чего получилось? Чего получилось?

С: Получилось около минуты.

К: Около минуты. А давайте составим график относительно задержки передачи…

С: Практически линейный.

К: Практически линейный. Ну что, задержка большая. И что делать?

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

К: Волокно своё до Москвы.

С: Так смотрите, у нас до Москвы 2000 километров…

К: Так нет, из графика-то явно видно, что проблема в программе, потому что у нас отклик должен приплюсовываться, а не так линейно зависеть. Потому что если у нас при увеличении отклика на 10 миллисекунд увеличивается на 10 секунд загрузка, то это очень странно. Для приложения.

С: Ну, привет интеграторам. Мы же говорим, что у них приложение тук-тук. Собственно, мы от вас и хотим получить заключение, что не в канале дело, а дело в приложении, погано написанном.

К: Давайте, пишем бумагу, что законы физики препятствуют, отменить их не можем, и советуем переписывать. И запятую не поставить. Законы физики препятствуют отменить не можем. Не, запятую надо поставить, скажут, что мы не грамотные. Законы физики препятствуют запятая отменить запятая… Не можем!

С: Нас такое заключение устроит.

К: Не, я согласен, если бы была экспонента на графике, то это совсем палево по отношению к приложению. А поскольку линейна.

С: Ну там, знаете, может и экспонента, мы же не сильно.

К: А, мы же дальше можем. А, мы больше секунды не можем. Ну давайте до 200, чего там будет. До 200 миллисекунд дойдём. Экспонента появится? Просто если экспонента, значит явно зависимость программного кода от задержек на линии, а это очень плохо.

С: Ну…

К: Значит там скорее всего мультипликатор по таймеру, который ждёт прибытия пакета, который срабатывает… Ну который не по eventу прибытия пакета работает, а просто опрос в буфере каком-нибудь. Это плохо.

С: Ну, не знаю, сколько там будет.

К: Ну, 200 миллисекунд добились. Мы вообще дождёмся, когда оно загрузится.

С: Ну как сказать. Мы запустили. Время обеденное – пошли обедать. Пришли – чего-то нарисовалось.

К: Короче, жесть полная.

С: Война войной, а обет по расписанию же, правильно?

К: Да.

С: Ну что, дадите бумагу?

К: Мне кажется, это задание… Конечно. Вы меня поняли. Конечно. Я уже давно об этом думаю. Давайте посмотрим какие ACL на роутере. Надо перебирать по-моему.

С: Ну как, есть ACL, которая, вот у нас есть локальная сеть – ей можно ходить в интернет, используя NAT.

К: Исключая DMZ ACL.

С: Там ещё есть на локальную сеть ACL, которая ограничивает доступ к серверам, к которым коннектится ICQ, чтобы народ не пользовался. Некоторым особо выдающимся пользователям она ещё запрещает выходить за пределы локальной сети, потому что они регулярно умудряются вирусы подхватывать. Вот. Со стороны интернета, там есть ACL, которая закрывает 22 порт маршрутизатора, чтобы его снаружи нельзя было настраивать. Вот. Ну на DMZ там нужные порты открываются, остальное запрещается. Примерно так.

К: В общем, ничего интересного.

С: Всё кошерно.

К: А есть какая-нибудь зависимость скорости загрузки от количества пользователей. Когда одновременно большое число приложений.

С: Ну, учитывая то, какое там поставили железо, и сколько оно стоило, и то, что сейчас больше трёх пользователей сейчас не подключается. Видимо, пока ядер хватает. И памяти. Видимо, когда их подключится 20 человек, всё станет совсем плохо. Мы боимся даже пробовать. А то нам скажут, что мы всё это сломали, заставят чинить…

К: Какие ещё идеи? Давай суммаризуем, что у нас есть. Внутри…

С: Суммаризация отключена.

К: Снаружи если идти к нам, никаких prepend нет в настройке. Значит проблема в нас, внутри. Проблема в маршрутизации в какой-нибудь. Мы же пришли к выводу, что с PortChannel что ещё не так.

С: Так мы выдернули же второй кабель. Ничего не поменялось.

К: Хорошо, выдернуть из одного сервера все…

С: Вообще все? Оба кабеля?

К: Подключились в какой-нибудь другой порт. Что произошло?

С: Ну, EtherChannel-то настроим на этом порту?

К: Пока нет.

С: Хрен его знает, как этот сервер себя поведёт. Там по-моему что-то настроено, что на коммутаторе должно быть что-то включено, чтобы EtherChannel работал. Там как-то по особому сетевушку сделали…

К: Т.е. там видно, что там проходят пакеты, что он пытается установить соединение?

С: М-м-м… Ну… В общем, да, в общем оно работает.

К: Может там плохие сетевушки, может UDLD включить?

С: Можно патч-корды поменять.

К: Там же медь, зачем. Оно же работает. Как-то хреново оно работает. Со стороны свитчей медь, плавно переходящая в… Вот ты смеешься, а у Планеты как раз. Вот коробочка, в неё входит одна медь, из неё выходит одна оптика. И что? Весело, с другой стороны такая же коробочка. И что? Это нормальная ситуация до тех пор, пока оптика не рвётся и не оказывается, что линк по-прежнему поднят что с той, что с другой стороны. Очень нормальная ситуация. Вообще прекрасная. Т.е. задержка у нас 60 миллисекунд.

С: Да. Ну вот интернет у них такой, что через Амстердам ходит.

К: Т.е. это независимо от того, что там IPSec.

С: IPSec же использует тот маршрут, который есть.

К: В IPSec же всё загоняется. Или оно по назначению загоняется.

С: Нет, там не всё загоняется конечно. Т.е. у нас есть маршрут через интернет от Москвы до Екатеринбурга через Амстердам. Ну вот такой у них провайдер. Зато дёшево. Офигенная экономия. Всего 3000 рублей в месяц.

К: А если мы всего один сервер оставим с одним проводом.

С: Я боюсь, что оно работать не будет, там надо, чтобы все были.

К: А, зависимые сервера. Там же база. Зависимые сервисы, отлично.

С: Они между собой тоже чем-то там обмениваются.

К: Хотя по хорошему должны быть три одинаковые машины с виртуальными серверами, которым должно быть побоку. По хорошему это должна быть одна корзина. Ну или так.

С: Нет, у нас же хотели облако развернуть, поэтому сделали несколько разных железок…

К: В облаке несколько разных железок? Это новость!

С: Я вам просто пересказываю переписку ребята. Они сказали, вот у нас будет облако, поэтому мы сделаем три разные железки…

К: Начало прекрасное. От одного сервера до другого нормально всё ходит?

С: С коммутатором там всё замечательно. Вот. Ставили другой – нет разницы.

К: Но мы не можем понять, что у нас на серверах, веб-морда, логическая часть или прочее. Т.е. мы не можем отдельно тестировать модули приложения.

С: Нет, не можем. Они говорят: у нас всё хорошо, и не смейте туда лезть своими грязными руками. Сначала разберитесь со своим интернетом, потом сразу всё станет хорошо. Они видимо знают, что у них из-за задержек всё плохо работает, поэтому сказали, не более 10 миллисекунд. Теперь требуют обеспечить. А на физику им плевать.

К: Может, приложение ответ по multicast рассылает. Не, ну а что.

С: Нет, как бы оно тогда работало. Оно изначально работало без IPSec туннеля, подключались по HTTPS из-за чего HTTPS и сделали. Потом там московский начальник сказал, что нет блин, это не секьюрно, давайте ещё VPN сделаем.

К: Давайте уберём IPSec.

С: Мы его убьём конечно. Ну может быть чуть-чуть побыстрее станет. Буквально на одну секундочку из минуты.

К: На время развёртывания IPSec.

С: Да, буквально на то время, которое нужно IPSec.

К: Время развёртывания стека 460. Толя, чего ты сейчас вспомнил. Я вспомнил чуть-чуть. Первые 4 пинга не доходят. Там, кстати, реально странно. Разворачивание за полсекунды, но первые 4 пинга не доходят. Скажи спасибо, что там вообще что-то пингуется.

С: Ну так что вы нам скажете, господа специалисты? Неужто и вы нас обвините?

К: В чём? Это провайдер. Это у него плохие интернеты.

С: Это фактически то же самое, что обвинить нас. Скажут: козлы, идите разберитесь со своим провайдером.

К: Мы можем всё что угодно убить?

С: Вы знаете, я бы список фамилий вам предоставил, но меня ж потом за соучастие посадят.

К: За организацию. Нет, я в плане конфигурации свитча и роутера.

С: Можем наверное.

К: Давайте дропнем VLAN database. Давайте скопируем сначала. Скопируем, а потом дропнем.

С: Нет, смотрите, мы же подключались прямо в тот коммутатор, в котором у нас сервера стоят.

К: Нет, я хочу посмотреть: до Москвы что-нибудь изменится или нет.

С: Т.е. вы какую топологию фактически предлагаете? Отключаем локалку, статистику, маршрутизатор втыкаем напрямую в интернет, так что ли?

К: Угу. Дропнуть VLAN database.

С: Ну исключить тот коммутатор.

К: Да.

С: Ну хорошо, сделали. Также. Всё также. Да нет, если бы дело было в коммутаторе, мы же с FTPшником экспериментировали – у нас бы до Москвы фигово с FTPшником. Вот, спасибо вам ребята, хороший тест провели, показали, что у нас нормальный канал. Траффик ходит. Не шибко медленно.

К: Ещё светлые идеи?

С: Ну чего? У?

К: Disaster.

С: Эти интеграторы – это полный Disaster. Если дадите официальное заключение, что это всё по их вине, будем очень очень благодарны.

К: …

С: Какие-то вы интересные аутсорсеры, где вас директор таких нашёл? Пытаетесь разобраться в проблеме. Решить что-то.

К: Странные дела.

С: Очень странные дела. Хорошо хоть дорого берёте, а то вообще было бы подозрительно.

К: Концентраторы у нас какие-нибудь подешевле есть? Чего ещё раз? У нас проблема в чём: задержка большая. Амстердам далеко. Да. Так давай попробуем ещё через чего-нибудь выйти.

С: А, т.е. вы предлагаете отправить кого-нибудь в командировку в Москву, поселиться в разных гостиницах, проверить через их интернет?

К: Что-то типа. Да.

С: Ну, я с удовольствием съезжу.

К: Нет, мы сами как-нибудь.

С: А, сами. Ну хорошо, и что вы намерили?

К: До Москвы мы ходим через Амстердам. А до Владимира, например?

С: Ой, у меня с географией плохо. А где это?

К: Владивосток. С другой стороны. Нет, Толя, не до этого Владимира. Владимира, который в Московской области.

С: Не, ну в Москве же есть нормальные провайдеры, которые напрямую в Екатеринбург ходят. У них по слухам будет в районе 30 миллисекунд. Ну меньше-то оно откуда возьмётся. 2000 километров. Физика.

К: Физика-то физика.

С: Сигнал по оптике идёт.

К: В оптике 2/3 световой.

С: Ну 2/3 световой туда обратно. 2000 километров.

К: Никакого кеширования на уровне приложения не предусмотрено?

С: Это мы не знаем, они ничего не говорят.

К: Не, ну если это какое-нибудь онлайн-приложение типа World of Value, то поможет.

С: Нет, они там что-то написали на SharePoint, сказали, что это круто, прогрессивно и так далее.

К: В момент обращения к серверу, он не делает никаких…

С: Других обращений?

К: Никаких других обращений вовне. Типа обращения к какому-нибудь облачному сервису Microsoft.

С: Это кто, клиент или сервер?

К: Сервер приложений наш.

С: Ох.

К: От него никакого паразитного траффика не выходит. Паразитного с нашей точки зрения.

С: Нет, не выходит. Так было бы сомнительно тогда, мы же из локалки работаем значительно быстрее, чем из Москвы. Если бы это дело было в самом сервере, наверное было бы не важно.

К: Ну смотря где он расположен. Может от нас ближе. Сервер-то расположен в одном месте, до которого стучимся. Нет, вы не учитываете ситуацию, когда у нас по миру несколько серверов.

С: Так у нас один всего сервер.

К: Всякое бывает.

С: Т.е. вы предполагаете, что интеграторы нас надули и…

К: …тайно поставили ещё несколько серверов. Вы работали с приложением от Lumention? Я могу сказать, что там всё очень весело. Это простые русские интеграторы, у них нет запасных серверов. А там английские интеграторы. Вот видишь. Если мне support отвечает, я их спрашиваю по поводу их приложения, их ПО, а они говорят, что они не знают, что оно у них существует.

С: Мы уже всем отделом на новый год просили: Дедушка Мороз, пожалуйста продифференцируй этих интеграторов уже!

К: Кто работать будет?

С: М-м-м… Ну как, не знаю.

К: Тоже Дедушка Мороз?

С: Может лучше, чтобы никто не работал? Если фашист-снайпер на колокольне сидит и всех отстреливает, если никто вместо него отстреливать не будет, может это и не так плохо.

К: Петрович, а мы ведь можем здесь кэш развернуть в Москве? Ты думаешь поможет? Смотря как написано приложение.

С: А, то есть вы хотите, чтобы у них работало быстро, а у нас медленно.

К: А давай проверим. Вдруг поможет.

С: Так у нас нет доступа к этим серверам.

К: Мы на Москве развернём кэш.

С: И что теперь? Кэш, он теперь как будет синхронизироваться? С чем? Там же какая-то работа с базой данных, видимо, ведётся.

К: Не, а если мы второй кэш развернём у нас в локалке, мы не сможем их синхронизировать?

С: А вам не кажется, что это извращение? Что мы сейчас занимаемся разработкой приложения?

К: Там кешируются веб-страницы. Ты уверен? Уверен. По HTTPS можно передавать и не веб-страницы, а напрямую. Там кешируются веб содержимое.

С: Нет, ребята, если вы считаете, что проблема в приложении, мы этого от вас и ждём. Скажите, проблема не в сети, проблема в приложении. Будем счастливы!

К: Проблема в том, что приложение рассчитано на такую сеть, которой в природе не бывает.

С: Вот, вот это и напишите. Что у них руки растут из задницы, и они не знают… ни черта не знают.

К: …голова…

С: И голова у них растёт из задницы.

К: Вскрытие показало, что на самом деле.

С: Их надо на онлайн игры посадить с минутной задержкой, и посмотреть, как долго они проживут. Нажал кнопку выстрелить, и пошёл чай пить. Пришёл – тебя уже убили.

К: Так это шахматы.

С: Вы понимаете, у нас как бы не шахматы, нам надо что-то более активное работать.

К: Не знаю, у меня конструктивных мыслей не осталось. У нас доступ к этим серверам откуда-то кроме туннеля есть? Из локалки.

С: В смысле? Они сидят в DMZ, у них даже есть IPшники публичные. В принципе, до них из интернета можно достучаться, вот мы сейчас IPSec убрали, ходим через интернет к ним по HTTPS.

К: Хорошо, а если мы из Екатеринбурга, но не из нашей сети стучимся до них, какое время отклика?

С: Наверное что-то в районе 10-15 миллисекунд. А по времени загрузки… ну, что получается… Наверное секунд 20-25.

К: Какой… Как из Москвы обращаются к нашему серверу? По DNS имени?

С: М-м-м… Ну да.

К: Какой IP адрес?

С: Сервера.

К: Сервера.

С: Никаких ни зеркал, ни виртуализации, ни черта нет.

К: А DNS локальный.

С: Да. Можно по IPшнику обращаться – толку ноль, всё так же. И потом DNS ну что, один раз он разрешился, он же не целую минуту разрешается, правильно?

К: Может там какой-нибудь прокси, какой-нибудь петлёй. Не кеширующий прокси. Это бы многое объясняло. Но всё равно там бы был не такой график. А время жизни у нас у пакетов какое? Стандартное?

С: Дожить успевает. Вполне стандартное. Мы же трассировку пускали. Провайдеры, конечно, многое умеют, но вряд ли они будут TTL искусственно править.

К: За неуплату. Мы каждый день будем уменьшать TTL на единицу, пока вы не оплатите счёт. Интернет медленно угасал. Интересная идея кстати. У нас запись есть. Ну что, рубим бабло, идём домой? Я предлагаю. Не, ну решение-то должно быть. Кстати, зря над кешами смеялись, я сейчас этим и занимаюсь. Ты же вроде… Ну параллельно. У меня никогда одной рабочей задачи нету, одной единственной. Обматери уже своё начальство… А SSL какой в HTTPS? 3?

С: Там вообще TLS.

К: О-о-о, да. Где ты видишь в этом проблему? Так вот нигде не вижу, я уже перебираю всё, что можно. И что нельзя. Давай откатимся на первый SSL. Ну я просто не знаю.

С: Давайте вообще сделаем HTTP. Правда доступа до сервера нету.

К: В этом небольшая проблема такая. Маленькая проблема.

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

К: Если EtherChannel сделать на локалку и на Москву. А? Если EtherChannel сделать на локалку и на Москву. Нахрена? А хрен его знает. Толя, как EtherChannel группу до Москвы? Вот объясни мне как. Нет, подожди, у нас же IPSec есть. Что, не проканает? Нам нужна выделенная L2 линия до Москвы. Да, действительно. А если ещё… А нет, не получится. Нам нужен именно прямой провод. Можем программно завернуть. Представляешь, с какой скоростью это будет работать? Да. Это точно нам ничем не поможет. Ну что, рубим?

С: Ну то есть пишете бумагу, что проблема у них.

К: Да, на основании графика зависимости скорости загрузки от чего, от времени задержки приходи к выводу, что…

С: Что вы козлы, и ни черта сами не понимаете. Спасибо. Будем… Очень признательны. Вот.

К: Какие ещё идеи? Так всё, уже написали. Деньги уже получили.

С: А идеи, как потратить?

К: Ресторан, цыгане, всё как обычно.

С: Значит, на самом деле проблема в очень криво написанном приложении. Оно написано таким образом, что странице, чтобы загрузиться, нужно раз 200 обратиться к серверу. Там очень очень много скриптов вложенных, которые каждый раз загружаются, стили там и так далее…

К: Кеширование бы спасло. Толя, до тех пор, пока оно работает с базой данных ещё при этом, кеширование нас ничем не спасёт. Ну смотря как оно работает с базой данных. Даже если она из неё читает.

С: … так что это на само деле было очень криво написанное приложение.

К: Есть же кеширование для внутренних сохранённых объектов. И как решили её? Новое приложение писать?

С: Решить это – ну как. Только писать новое приложение.

К: Кеширование что ли не спасает, если там куча технических скриптов, которые явно повторяется.

С: Там не только технические скрипты.

К: Они ещё и автогенерируемые что ли? Почему нет? Ну как бы да, но…

С: Это ж SharePoint.

К: Это ж SharePoint. Да я в курсе! Я сижу в одной комнате с людьми, которые им занимаются. Что их ещё не всех уволили? Нет. К нам сегодня девочка пришла, её спросили, я её спросил, как с программированием, она сказала: хорошо. Я спросил, на каких языках, она сказала: на всех. Попроси её для меня что-нибудь на Cobolе написать. В смысле, на английском, испанском, на русском? Вот как-то так. Ждём, что будет. Скажи, что я плачу деньги за любые скрипты на вольюмфак, которые ещё и работают.

С: Так что обезьяну можно путём длительных тренировок обучить языку глухонемых, но летать она не будет. С этим приложением точно так же. Можно добиться, чтобы оно работало за полминуты, но работать быстро оно не будет, его надо переписывать. Вот.

К: Да нет, мне кажется, что большим кэшем можно было решить проблему. Там явно какое-то конечное число скриптов. Обычных, не генерируемых. Ха-ха-ха. У меня такая же проблема просто, чего вы ржёте. Мы не ржём, мы сочувствуем. У меня пятигигабайтная база которая вот ходит по медленной сети предприятия. Хватит ржать, наболевшая проблема. Толя, попроси их там построить ещё SAN. Чтобы по SAN всегда ходило. Скажи, что конвергенция – это модно. Да ладно, чего, у меня кэш до 32 гигабайт на приложение, всё в порядке. Ты герой.

С: Ну в общем, я думаю, что на этом на сегодня всё. Это был такой тест…

К: Больного было не спасти. Больного было не спасти, но можно было попытаться на мой взгляд.

С: Это ребята, это уже не реанимация, это уже некрофилия.


Смотрите также:
В поисках чёрной кошки
256.5kb.
1 стр.
Бездомные собаки и кошки
31.62kb.
1 стр.
Весёлый познавательный журнал о кошках и собаках
167.11kb.
1 стр.
Антрихристос (рассказ)
100.69kb.
1 стр.
Сказка в двух действиях Действующие лица: кот макмурр попугай андрон
236.81kb.
1 стр.
Как появились кошки?
42.23kb.
1 стр.
Распространенность черной ножки картофеля в беларуси и характеристика популяции возбудителей
108.91kb.
1 стр.
Некоторые аспекты развития и повышения экологической безопасности предприятий черной металлургии украины
174.11kb.
1 стр.
Мероприятия в Музее кошки и в «Республике кошек» в мае в мае посетителей Музея кошки во Всеволожске и его представительства – «Республики кошек» ждут интересные события: в первую очередь, участие в акции «Ночь музеев»
75.22kb.
1 стр.
Алекс Родин
1771.25kb.
13 стр.
Паразия Э. В. В поисках книги (по роману т. Толстой
39.9kb.
1 стр.
В поисках солидарности краткий обзор
1291.68kb.
9 стр.