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