#3601: Бассейн и две трубы
15:00 11.07.2010, IT happens
Есть у меня несколько серверов, в задачу которых входит сбор и обработка статистики от нескольких сервисов. Вся статистика хранится в базах MySQL. И вот однажды сервер, на котором крутилась база, начал тормозить. Это было вполне предсказуемо: объём поступающих данных постоянно рос, и требовалось всё большее время на его обработку. Так как оптимизация работы базы уже не помогала, а оптимизация скриптов уже была проведена до этого, было принято решение о переносе базы на более мощный сервер. Сказано — сделано. Железо настроено, установлена CentOS 5, MySQL, подобраны оптимальные настройки базы и написан скрипт для автоматического переноса данных.
В пятницу утром запускаю тестовый прогон, который должен был воссоздать структуру таблиц. Результат успешен. Запускаю основной скрипт и наблюдаю, как начинают передаваться данные. К шести вечера скрипт всё ещё работает, хотя должен был закончить часам к трём, и рапортует о том, что успешно передаёт в среднем по 70 записей в секунду, Стоп! Как так? До этого шло по три-четыре тысячи в секунду, а сейчас 70? Начинаю проверять всё, что пришло в голову: интернет-канал в норме, нагрузка на обоих серверах в норме, зависших запросов в базе тоже нет, генерацию отчётов отключил...
Только через несколько минут до меня дошло, что умный скрипт не просто дампил базу, а выполнял полноценную одностороннюю синхронизацию данных. А в это время демоны, которых я забыл отключить, успешно стягивали и обрабатывали данные с сервисов и сливали их в старую базу со скоростью около 70 записей в секунду...
Невнимательность — враг системного администратора. В следующий раз я напишу план работ и буду расставлять в нём галочки, чтобы не пропустить что-либо ненароком, чего и вам советую!
#3602: Как ни суй, бабла не дам
13:00 12.07.2010, IT happens
Работаю айтишником в одном сине-красном банке. В круг основных обязанностей входит работа с банкоматами.
Суббота. Утро. Раздаётся звонок с неизвестного мне номера. Беру трубку. «Алло! Это банкомат?» Спросонья ощупываю себя и, не найдя пин-клавиатуры и прорези кард-ридера, уверенно отвечаю: «Нет, это не банкомат! Куда вы звоните?» Женский голос на другом конце провода, не заметив подвоха, повторяет: «Это же банкомат, да? Мне нужно карточку поменять». Советую голосу для обмена карточки приехать в банк. В ходе разговора выясняется, что женщина работает в обслуживаемой банком городской больнице. Интересно, как бы она отреагировала, если бы я ей позвонил и спросил: «Алло! Это бормашина?» или «Алло! Это томограф?»
#3603: Весь в белом
13:00 12.07.2010, IT happens
Отправили как-то нас поднимать сетку в одном далёком московском районе. Находим узловую точку по топологии, идем в ДЭЗ и узнаём, что в том доме идёт капитальный ремонт, и чердак должен быть открыт. Мы уже начинаем что-то подозревать, поднимаемся на чердак и видим...
Когда тянули линию, ящика еще не было. Потом его повесили, но оборудование в него переместить не успели. Вот и наблюдали мы картину: под потолком висит закрытый на замок ящик, а рядышком побелённый свитч.
#3604: Удар из тени
13:00 12.07.2010, IT happens
Переставлял винду дома. Поставил систему, основной софт, настроил, что нужно, перегрузил, потестил. Решил добавить разных красивостей и удобностей: плееры, смотрелки картинок и прочую дребедень. Установил скриптом с загрузочного диска, выключил комп и ушёл спать.
Утром включаю комп — дичайшие тормоза: работать невозможно совершенно, и это на отлично настроенном вчера компе! Делаю трёхпальцевый аккорд, минут через пять вылезает диспетчер задач — значок в трее символизирует, что проц загружен чуть больше, чем полностью.
Медленно-медленно начинаю тянуться мышкой к вкладке «Процессы». Кликаю. Медленно-медленно отрисовывается список. Вот он, вредитель, отобравший 99% ресурсов! Процесс назывался... ninja.exe. Ещё через пятнадцать минут мучительно медленного шевеления курсором процесс удалось завершить, и всё замечательно заработало.