Балансировка нагрузки на сервер


7 0

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

Моя начальница весь следующий день занималась тем, что кликала по сайту и замеряла время отклика, но меньше 5 секунд отклик проходил очень редко, а ведь мой сервис отвечал на любые запросы мгновенно и на тестовом сервере обрабатывал тысячи запросов в минуту без напряга. А ведь тестовый сервер на много слабее.

Не знаю зачем, но когда начальница вывела из кластера все сервера и оставила только один, время отклика сократилось в разы. Ответ от одного сервера идет быстрее, чем от пятерых работающих одновременно. Явная проблема в распределении нагрузки на сервера, load balancer просто не справляется с работой и тормозит запрос.

Вчера пришел клейм на то, что не загружается у пользователей флешка. Я загрузил URL в свою программку мониторинга сети и начал смотреть за доступностью ресурса. Жаль, что у меня нет возможности отображать время отклика. Нужно срочно добавить эту возможность. Я тестировал HTTP тестером, который с определенным интервалом запрашивает URL и проверяет его доступность. Если ответ не пришел, то сигнализирует меня об ошибке. При интервале тестирования в 30 секунд, ответы приходили 100 процентов.

Я попробовал опустить интервал до 10 секунд и тут получил облом. Все запросы повалились по таймауту. А ведь я тестировал банальный swf файл, который статичен и должен возвращаться моментально.


Понравилось? Кликни Лайк, чтобы я знал, какой контент более интересен читателям. Заметку пока еще никто не лайкал и ты можешь быть первым


Комментарии

BasicWolf

09 Октября 2010

Михаил, а что за load balancer у вас стоит?


Виталий Луговой

09 Октября 2010

Знаю вопрос не в тему, но очень нужен ваш професиональный совет. Вот собственно вопрос: Как думаете по крайней мере с вашей точки зрения, если я не сосем понимаю язык программирования 'С' тогда
'С++' будет даватся тяжелее или что там самое тяжолое  и ещё какие темы очень важны в таких языках как: С# Java PHP UML тоесть сильно ли 'C'
Привязан именно к этим языкам.
Буду очень признателен за любой ответ!!!!


Михаил Фленов

09 Октября 2010

load balancer стоит, но не у нас, а у хостера. На него и грешим, потому что без него время отклика минимально. Хостер клянется, что у них все супер и балансер не причем.


Михаил Фленов

09 Октября 2010

2Виталий Луговой

Все это разные и никак не связанные языки. Просто у них подобный синтаксис. Можешь начинать изучение с любого языка и не учить С вовсе.


Виталий Луговой

10 Октября 2010

Большое спасибо за ответ мне он очень поможет, вы и не представляете как я вам благодарен вобщем может и я когда-то вам чем то помогу.


ckl

14 Октября 2010

Ваш мониторинг сети опрашивает по snmp?


Михаил Фленов

14 Октября 2010

На данный момент нет. В программе несколько вариантов опроса сервера, но SNMP до сих пор нет. Я все хочу его добавить, но никак руки не доходят. Пока наращиваю другие функции. А snmp добавлю позже как отдельный тестер. Не все оборудование поддерживает snmp, но то, что поддерживает конечно же лучше тестировать с его помощью


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

Еще что-нибудь

Хотите найти еще что-то интересное почитать? Можно попробовать отфильтровать заметки на блоге по категориям.

О блоге

Программист, автор нескольких книг серии глазами хакера и просто блогер. Интересуюсь безопасностью, хотя хакером себя не считаю

Обратная связь

Без проблем вступаю в неразборчивые разговоры по e-mail. Стараюсь отвечать на письма всех читателей вне зависимости от страны проживания, вероисповедания, на русском или английском языке.

Пишите мне