приветесть некий датацентр в штатах с серваками на которых хранится видео и отдается по хттп (по типу ютуба)
все клиенты в основном сидят в японии и качают видосы по хттп.видеосервера более 10 штук посажены на один большой свитч cisco 6500, перед который стоит роутер с bgp. и тремя аплинками.
проблема
в японии стоит тачка и тестирует бандвидтх через 5 провайдеров и рисует графики скоростей до видеосерверов через этих самых провайдоров.
и вот странность:
один и тот же провайдер показывает до рядом друг с другом стоящих серваков совершенно разный bandwidth.
в идеале картина такая должна быть:
| ISP1 | ISP2 |ISP3 | ISP4 | ISP5
VIDEO1 |1MBs|1MBs|1MBs|1MBs|1MBs
VIDEO2 |1MBs|1MBs|1MBs|1MBs|1MBs
VIDEO3 |1MBs|1MBs|1MBs|1MBs|1MBs
...так оно и есть на большинстве серваков
но некоторые серваки показывают странную статистику.
выглядит это так:
| ISP1 | ISP2 | ISP3 | ISP4 | ISP5
VIDEO4 |1MBs |1MBs|100KBs|1MBs|1MBs
VIDEO5 |10KBs|1MBs |1MBs |120KBs|1MBs
VIDEO6 |1MBs |20KBs|1MBs |1MBs|1MBs
то есть один конкретный провайдер может с одного видеосервака качать со скоростью 1 мегабайт
а с другого сервака в той же самой стойке забирать со скоростью 10-100кбайтпричем это происходит на любом из пяти провайдеров. какаято часть серваков будет отдавать 1мегабайт в секунду, а рядом стоящий сервак отдает 100кб.
в чем может быть загвоздка? даже предположить не могу. сначала грешил на bgp, так как между конечными точками больше десяти хопов. но теперь уже как-то сомневаюсь.
подскажите откуда хотя бы начинать копать? :)
[...]
> причем это происходит на любом из пяти провайдеров. какаято часть серваков будет
> отдавать 1мегабайт в секунду, а рядом стоящий сервак отдает 100кб.
> в чем может быть загвоздка? даже предположить не могу. сначала грешил на
> bgp, так как между конечными точками больше десяти хопов. но теперь
> уже как-то сомневаюсь.
> подскажите откуда хотя бы начинать копать? :)Судя по тому, что ты описал, один из трёх маршрутов кривой. В чём именно кривой, неясно. Может быть где-то по дороге дикий UDP трафик, из-за чего TCP тупо дохнет из-за потерь пакетов, может (опять же по дороге) шибко умный ISP режет ICMP и поэтому не работает congestion control. Может быть (опять же по дороге) где-то слишком большой буфер, из-за чего опять же не работает congestion control.
Вешайся каким-нибудь wireshark, пиши трафик между ISP1 и VIDEO5, детально разбирайся в логах. TCP на больших расстояниях - штука достаточно хрупкая и будет работать со скоростью канала разве что на совсем пустой сети.
>[оверквотинг удален]
>> подскажите откуда хотя бы начинать копать? :)
> Судя по тому, что ты описал, один из трёх маршрутов кривой. В
> чём именно кривой, неясно. Может быть где-то по дороге дикий UDP
> трафик, из-за чего TCP тупо дохнет из-за потерь пакетов, может (опять
> же по дороге) шибко умный ISP режет ICMP и поэтому не
> работает congestion control. Может быть (опять же по дороге) где-то слишком
> большой буфер, из-за чего опять же не работает congestion control.
> Вешайся каким-нибудь wireshark, пиши трафик между ISP1 и VIDEO5, детально разбирайся в
> логах. TCP на больших расстояниях - штука достаточно хрупкая и будет
> работать со скоростью канала разве что на совсем пустой сети.спасибо за развернутый ответ, попробую натравить вайршарк.
у меня еще вдруг возникло подозрение, что сервера просто упираются в какой-то непонятный потолок, так как я тестил скорость с совершенно разных провайдеров российских и с рутшелла в европе. и там точно такая же картина. видимо узкое место где-то все же на нашей стороне.
Таблица с реальными измерениями изменяется с течением времени ?
В смысле, тест VIDEO4 через ISP3 вообще всегда показывает 100 KBs ?Если есть доступ на тот роутер в штатах, у которого три аплинка, то хорошо бы в момент тестирования посмотреть show ip cef exact ... , чтобы увидеть, через какой аплинк уходит траффик каждого теста. Возможно, все проблемные тесты окажутся связанными с каким-то одним аплинком из трех.
Еще вопрос. Трасса менялась со временем?
Можете крутить BGP? чтоб убрать кривую трассу?
> Таблица с реальными измерениями изменяется с течением времени ?
> В смысле, тест VIDEO4 через ISP3 вообще всегда показывает 100 KBs ?
> Если есть доступ на тот роутер в штатах, у которого три аплинка,
> то хорошо бы в момент тестирования посмотреть show ip cef exact
> ... , чтобы увидеть, через какой аплинк уходит траффик каждого теста.
> Возможно, все проблемные тесты окажутся связанными с каким-то одним аплинком из
> трех.таблица динамически меняется да. меняется в течение дня. полдня показывает 100кб, потом восстанавливается до нормы в 1МБ. через одного и того же провайдера.
в общем я похоже нашел в чем узкое место. в Cisco CSM видимо.
у нас доступ до серверов не прямой а через CSM балансер.один VIP (VIDEO4) балансирует хттп траффик в round-robin на два реальных сервака: video4a и video4b.
и так - 35 VIP-адресов раскинуты на 70 видеосерверов.я померял скорость напрямую до серверов и оказалось что со всех серваков bandwidth ровный, в пределах нормы и загруженности - прыгает в районе 0.7-1.1 MByte/s
как только пытаешься брать те же файлы через балансировщик - с большинства VIP скорость похожая, но на некоторых падает до безобразно низкой.
так что BGP тут похоже совсем не причем и зря я на него гришил, а проблема в CSM.
осталось только разобраться почему :)
>[оверквотинг удален]
> video4a и video4b.
> и так - 35 VIP-адресов раскинуты на 70 видеосерверов.
> я померял скорость напрямую до серверов и оказалось что со всех серваков
> bandwidth ровный, в пределах нормы и загруженности - прыгает в районе
> 0.7-1.1 MByte/s
> как только пытаешься брать те же файлы через балансировщик - с большинства
> VIP скорость похожая, но на некоторых падает до безобразно низкой.
> так что BGP тут похоже совсем не причем и зря я на
> него гришил, а проблема в CSM.
> осталось только разобраться почему :)а вот и причина видимо
# sh proc cpu history
5555588888777222888888855553333666666669999999333888888888
4444466666222333888884488881111222299997777444999888884444
100 ****
90 ***** ***** ******* *****
80 ***** ******* ******* *********
70 ******** ******* *********** *********
60 ******** *********** *************** *********
50 ************* *********** *************** *********
40 ************* *********** ***************************
30 ************* ******************************************
20 **********************************************************
10 **********************************************************
0....5....1....1....2....2....3....3....4....4....5....5....
0 5 0 5 0 5 0 5 0 5