Добавить в корзинуПозвонить
Найти в Дзене

Ещё одна история из жизни

Лет эдак пятнадцать назад был у нас большой и интересный проект. Одного только оборудования было полторы 42U-стойки. Сервера были соединены между собой в локальную сеть через пару гигабитных коммутаторов. И вот моему коллеге дали текстовый файлик размером около мегабайта. Задача стояла простая: на каждый запрос выбирать несколько случайных строк из файла и отображть их в одной из колонок на странице. Я дико не люблю чтение из файлов. На то есть причины и сейчас не о них. Важно что помятуя об этом коллега придумал гениальное (на первый взгляд) решение: закинуть файл в memcached, брать его оттуда, выбирать случайные строки и отображать их. И снова вопрос: что же могло тут пойти не так? Между бэкендами и memcached-сервером гигабитный линк. Нетрудно посчитать что 1 мегабайт по гигабитному линку передаётся около 8мс. И значит хитрый план работает только до ~120rps. У нас же было в зависимости от времени суток от ~100 (ночью) до ~350rps в вечернем пике. Товарищ выкатил правки, посмотрел

Ещё одна история из жизни

Лет эдак пятнадцать назад был у нас большой и интересный проект. Одного только оборудования было полторы 42U-стойки. Сервера были соединены между собой в локальную сеть через пару гигабитных коммутаторов.

И вот моему коллеге дали текстовый файлик размером около мегабайта. Задача стояла простая: на каждый запрос выбирать несколько случайных строк из файла и отображть их в одной из колонок на странице.

Я дико не люблю чтение из файлов. На то есть причины и сейчас не о них. Важно что помятуя об этом коллега придумал гениальное (на первый взгляд) решение: закинуть файл в memcached, брать его оттуда, выбирать случайные строки и отображать их. И снова вопрос: что же могло тут пойти не так?

Между бэкендами и memcached-сервером гигабитный линк. Нетрудно посчитать что 1 мегабайт по гигабитному линку передаётся около 8мс. И значит хитрый план работает только до ~120rps. У нас же было в зависимости от времени суток от ~100 (ночью) до ~350rps в вечернем пике.

Товарищ выкатил правки, посмотрел что всё работает и пошёл спать. Утром мы проснулись от того что "всё сломалось". Просто потому что ночью на 100rps хитрый план со скрипом, но работал, а утром уже при ~140rps всё встало колом.

Такие дела...