|
Вопрос на собеседовании: почему тормозит production
|
|||
---|---|---|---|
#18+
Только одно уточнение: Андрей Панфиловпроблемы с производительностью решает разработчиктаки разработчик? или Андрей Панфиловза работу продуктовой среды несут ответственность вполне определенные команды/люди ... |
|||
:
Нравится:
Не нравится:
|
|||
23.09.2019, 11:02 |
|
Вопрос на собеседовании: почему тормозит production
|
|||
---|---|---|---|
#18+
j2ee2016Всем привет. Какой ответ Вы считаете наиболее правильным и корректным на вопрос: "Есть REST API на продакшене и, вдруг, какая-то операция начинает резко тормозить. Что делать в такой ситуации? при условии, что сам SQL-запрос к БД выполняется быстро" Этот вопрос не для поиска "правильного" ответа. Он для понимания того, какой у человека опыт в решении этих вопросов. Но по-моему правильным будут встречные "это кластер, или нет, есть ли nginx, виртуалка, или нет, или кубер/мезос, если другие сервисы, как с памятью, используется ли диск, если ли система мониторинга и что она меряет" и так далее. Я задаю вопрос не так- "решали ли Вы такую проблему и какая была последовательность действий?". Вот тогда человек уже сам расскажет всё, что было важно для решения проблем. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.09.2019, 11:05 |
|
Вопрос на собеседовании: почему тормозит production
|
|||
---|---|---|---|
#18+
Alexey Tominj2ee2016Всем привет. Какой ответ Вы считаете наиболее правильным и корректным на вопрос: "Есть REST API на продакшене и, вдруг, какая-то операция начинает резко тормозить. Что делать в такой ситуации? при условии, что сам SQL-запрос к БД выполняется быстро" Этот вопрос не для поиска "правильного" ответа. Он для понимания того, какой у человека опыт в решении этих вопросов. Но по-моему правильным будут встречные "это кластер, или нет, есть ли nginx, виртуалка, или нет, или кубер/мезос, если другие сервисы, как с памятью, используется ли диск, если ли система мониторинга и что она меряет" и так далее. Я задаю вопрос не так- "решали ли Вы такую проблему и какая была последовательность действий?". Вот тогда человек уже сам расскажет всё, что было важно для решения проблем. +100500 ... |
|||
:
Нравится:
Не нравится:
|
|||
23.09.2019, 11:07 |
|
Вопрос на собеседовании: почему тормозит production
|
|||
---|---|---|---|
#18+
Дмитрий МухТолько одно уточнение: Андрей Панфиловпроблемы с производительностью решает разработчиктаки разработчик? или Андрей Панфиловза работу продуктовой среды несут ответственность вполне определенные команды/людиА в чем вы противоречие нашли-то? Давайте в аналогии поиграем чтоли... Вот я езжу на машине, подливать бензин и следить чтобы двигатель не перегревался - это моя область отвественности как эксплуатанта, а ремонтировать поломки - это уже ответственность сервис центра (ну или дяди Васи из соседнего гаража - тут уж каждый сам принимает решение как вертеться). Я довольно слабо представляю каким образом эксплуатант может самостоятельно решать проблемы производительности кроме как заводить CR с правильным описанием проблемы, ну вот если очевидно что проблема в коде, то каким образом эксплуатант сможет исправить поведение? Декомпилировать классы, разворачивать среду сборки, слетать с поддержки, так чтоли? Более того, я реально встречался с ситуацией, когда эксплуатант по наитию APM (Grid Control оракловый) налепил в системе индексов и фиксированных планов запросов, так вот первым же шагом оптимизации было удалить все левые индексы (на самом деле не все, а только половину, а остальную половину переделать в "другую" сторону) и кривые планы. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.09.2019, 11:48 |
|
Вопрос на собеседовании: почему тормозит production
|
|||
---|---|---|---|
#18+
Alexey TominЭтот вопрос не для поиска "правильного" ответа. Он для понимания того, какой у человека опыт в решении этих вопросов. Но по-моему правильным будут встречные "это кластер, или нет, есть ли nginx, виртуалка, или нет, или кубер/мезос, если другие сервисы, как с памятью, используется ли диск, если ли система мониторинга и что она меряет" и так далее. Я задаю вопрос не так- "решали ли Вы такую проблему и какая была последовательность действий?". Вот тогда человек уже сам расскажет всё, что было важно для решения проблем.Больше смахивает на гадание на кофейной гуще, реальные случаи: - заказчик ночью что-то переделал и запустил AAA через сервера стоящие за 10 тыщ километров, результат предсказуемый, но как разработчику об этом догадаться - сетевики заказчика решили что stateful firewall (тот самый ESTABLISHED, RELATED в вашем любимом докере) это крутая тема и нужно прямо срочно ее внедрить, результат тоже предсказуемый, как разработчику об этом догадаться-то? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.09.2019, 11:59 |
|
Вопрос на собеседовании: почему тормозит production
|
|||
---|---|---|---|
#18+
Андрей ПанфиловДмитрий МухТолько одно уточнение: пропущено... таки разработчик? или пропущено... А в чем вы противоречие нашли-то? Давайте в аналогии поиграем чтоли... Вот я езжу на машине, подливать бензин и следить чтобы двигатель не перегревался - это моя область отвественности как эксплуатанта, а ремонтировать поломки - это уже ответственность сервис центра (ну или дяди Васи из соседнего гаража - тут уж каждый сам принимает решение как вертеться). Я довольно слабо представляю каким образом эксплуатант может самостоятельно решать проблемы производительности кроме как заводить CR с правильным описанием проблемы, ну вот если очевидно что проблема в коде, то каким образом эксплуатант сможет исправить поведение? Декомпилировать классы, разворачивать среду сборки, слетать с поддержки, так чтоли? Более того, я реально встречался с ситуацией, когда эксплуатант по наитию APM (Grid Control оракловый) налепил в системе индексов и фиксированных планов запросов, так вот первым же шагом оптимизации было удалить все левые индексы (на самом деле не все, а только половину, а остальную половину переделать в "другую" сторону) и кривые планы. Я не ищу противоречия, а хочу уточнить определённые моменты. Вернёмся к вопросу ТС, используя ваши термины: эксплуатанты обнаружили, что внезапно тормозит определённая операция в REST API, при чём проблема точно не в БД. Соответсвенно они решили обратиться к вам как к разработчику данного REST API. Что вы будете делать в такой ситуации? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.09.2019, 12:01 |
|
Вопрос на собеседовании: почему тормозит production
|
|||
---|---|---|---|
#18+
Андрей ПанфиловAlexey TominЭтот вопрос не для поиска "правильного" ответа. Он для понимания того, какой у человека опыт в решении этих вопросов. Но по-моему правильным будут встречные "это кластер, или нет, есть ли nginx, виртуалка, или нет, или кубер/мезос, если другие сервисы, как с памятью, используется ли диск, если ли система мониторинга и что она меряет" и так далее. Я задаю вопрос не так- "решали ли Вы такую проблему и какая была последовательность действий?". Вот тогда человек уже сам расскажет всё, что было важно для решения проблем.Больше смахивает на гадание на кофейной гуще, реальные случаи: - заказчик ночью что-то переделал и запустил AAA через сервера стоящие за 10 тыщ километров, результат предсказуемый, но как разработчику об этом догадаться - сетевики заказчика решили что stateful firewall (тот самый ESTABLISHED, RELATED в вашем любимом докере) это крутая тема и нужно прямо срочно ее внедрить, результат тоже предсказуемый, как разработчику об этом догадаться-то? О чём конкретно догадаться? Мониторинг отсутсвует от слова совсем? Access management? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.09.2019, 12:03 |
|
Вопрос на собеседовании: почему тормозит production
|
|||
---|---|---|---|
#18+
Дмитрий МухАндрей Панфиловпропущено... А в чем вы противоречие нашли-то? Давайте в аналогии поиграем чтоли... Вот я езжу на машине, подливать бензин и следить чтобы двигатель не перегревался - это моя область отвественности как эксплуатанта, а ремонтировать поломки - это уже ответственность сервис центра (ну или дяди Васи из соседнего гаража - тут уж каждый сам принимает решение как вертеться). Я довольно слабо представляю каким образом эксплуатант может самостоятельно решать проблемы производительности кроме как заводить CR с правильным описанием проблемы, ну вот если очевидно что проблема в коде, то каким образом эксплуатант сможет исправить поведение? Декомпилировать классы, разворачивать среду сборки, слетать с поддержки, так чтоли? Более того, я реально встречался с ситуацией, когда эксплуатант по наитию APM (Grid Control оракловый) налепил в системе индексов и фиксированных планов запросов, так вот первым же шагом оптимизации было удалить все левые индексы (на самом деле не все, а только половину, а остальную половину переделать в "другую" сторону) и кривые планы. Я не ищу противоречия, а хочу уточнить определённые моменты. Вернёмся к вопросу ТС, используя ваши термины: эксплуатанты обнаружили, что внезапно тормозит определённая операция в REST API, при чём проблема точно не в БД. Соответсвенно они решили обратиться к вам как к разработчику данного REST API. Что вы будете делать в такой ситуации? То что эксплуатанты обнаружили не имеет никакого значения. Могут выкинуть в ведро или подтереться. Пока не будет заведена JIRA с приоритизацией - можно ничего не делать. Кому нужна эта рест-операция? Business -value? Может она нахер не нужна? Может клиент без нее работать? Может она считает число лайков? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.09.2019, 12:16 |
|
Вопрос на собеседовании: почему тормозит production
|
|||
---|---|---|---|
#18+
maytonТо что эксплуатанты обнаружили не имеет никакого значения. Могут выкинуть в ведро или подтереться. Пока не будет заведена JIRA с приоритизацией - можно ничего не делать. Кому нужна эта рест-операция? Business -value? Может она нахер не нужна? Может клиент без нее работать? Может она считает число лайков?Это больше про то, что существующие системы багтрэгинга (incident management и пр., как вам будет угодно называть) ничего общего с реальностью не имеют, по науке (тут я приминаю как должное что не все книжки по специальности читали) приоритет в багтрэкинге - это суперпозиция влияния на бизнес и критичности, а по факту получается так, что приоритеты в багтрэкинге ставят от балды, в результате не выходе получается то что получается. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.09.2019, 12:45 |
|
Вопрос на собеседовании: почему тормозит production
|
|||
---|---|---|---|
#18+
Дмитрий МухО чём конкретно догадаться? Мониторинг отсутсвует от слова совсем? Access management?какой мониториг-то? хипстерская куета, которая не в состоянии раскатать правильно шаблоны и настроить автоматически, что дедлоки для JVM - это плохо и там бывает только два состояния: нет и есть, а вместо этого рисует никому не нужные графики ... |
|||
:
Нравится:
Не нравится:
|
|||
23.09.2019, 12:48 |
|
Вопрос на собеседовании: почему тормозит production
|
|||
---|---|---|---|
#18+
Дмитрий МухВернёмся к вопросу ТС, используя ваши термины: эксплуатанты обнаружили, что внезапно тормозит определённая операция в REST API, при чём проблема точно не в БД. Соответсвенно они решили обратиться к вам как к разработчику данного REST API. Что вы будете делать в такой ситуации?Я буду ждатьничего не буду делать до появления одного из двух: - воспроизводимого сценария - приглашения on-site ... |
|||
:
Нравится:
Не нравится:
|
|||
23.09.2019, 12:50 |
|
Вопрос на собеседовании: почему тормозит production
|
|||
---|---|---|---|
#18+
Андрей ПанфиловmaytonТо что эксплуатанты обнаружили не имеет никакого значения. Могут выкинуть в ведро или подтереться. Пока не будет заведена JIRA с приоритизацией - можно ничего не делать. Кому нужна эта рест-операция? Business -value? Может она нахер не нужна? Может клиент без нее работать? Может она считает число лайков?Это больше про то, что существующие системы багтрэгинга (incident management и пр., как вам будет угодно называть) ничего общего с реальностью не имеют, по науке (тут я приминаю как должное что не все книжки по специальности читали) приоритет в багтрэкинге - это суперпозиция влияния на бизнес и критичности, а по факту получается так, что приоритеты в багтрэкинге ставят от балды, в результате не выходе получается то что получается. Человек опытный в эксплуатации обычно правильно приоритезирует. Но если он поставит блокер а у вас есть какие-то другие задачи - то это лишний повод поговорить о том кто чем занят. Это полезно и проясняет статус-кво. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.09.2019, 13:02 |
|
Вопрос на собеседовании: почему тормозит production
|
|||
---|---|---|---|
#18+
maytonДмитрий Мухпропущено... Я не ищу противоречия, а хочу уточнить определённые моменты. Вернёмся к вопросу ТС, используя ваши термины: эксплуатанты обнаружили, что внезапно тормозит определённая операция в REST API, при чём проблема точно не в БД. Соответсвенно они решили обратиться к вам как к разработчику данного REST API. Что вы будете делать в такой ситуации? То что эксплуатанты обнаружили не имеет никакого значения. Могут выкинуть в ведро или подтереться. Пока не будет заведена JIRA с приоритизацией - можно ничего не делать. Кому нужна эта рест-операция? Business -value? Может она нахер не нужна? Может клиент без нее работать? Может она считает число лайков? Естественно, что это всё есть.. У нас.. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.09.2019, 13:04 |
|
Вопрос на собеседовании: почему тормозит production
|
|||
---|---|---|---|
#18+
Андрей ПанфиловДмитрий МухО чём конкретно догадаться? Мониторинг отсутсвует от слова совсем? Access management?какой мониториг-то? хипстерская куета, которая не в состоянии раскатать правильно шаблоны и настроить автоматически, что дедлоки для JVM - это плохо и там бывает только два состояния: нет и есть, а вместо этого рисует никому не нужные графики Да не, не такой. Выкатились сервера за 10 тыщ километров. Там уже и все тулы мониторинга предустановлены, хелсчеки прописаны. И если отклик ниже плинтуса в течение определённого времени, то срабатывает алерт и прилетает уведомление в Slack, Teams со ссылкой, которую кликаешь и видишь, что конкретно не так. Ту как бы догадываться ни о чём не надо :) ... |
|||
:
Нравится:
Не нравится:
|
|||
23.09.2019, 13:10 |
|
Вопрос на собеседовании: почему тормозит production
|
|||
---|---|---|---|
#18+
Андрей ПанфиловДмитрий МухВернёмся к вопросу ТС, используя ваши термины: эксплуатанты обнаружили, что внезапно тормозит определённая операция в REST API, при чём проблема точно не в БД. Соответсвенно они решили обратиться к вам как к разработчику данного REST API. Что вы будете делать в такой ситуации?Я буду ждатьничего не буду делать до появления одного из двух: - воспроизводимого сценария - приглашения on-site Тот же NewRelic показывает, что конкретно и в какой момент времени начало тормозить, при какой нагрузке, и продолжается-ли до сих пор. Что вам ещё нужно для воспроизводимого сценария? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.09.2019, 13:13 |
|
Вопрос на собеседовании: почему тормозит production
|
|||
---|---|---|---|
#18+
maytonЧеловек опытный в эксплуатации обычно правильно приоритезирует. Но если он поставит блокер а у вас есть какие-то другие задачи - то это лишний повод поговорить о том кто чем занят. Это полезно и проясняет статус-кво.К сожалению, опыт говорит об обратном, люди ставят приоритеты либо согласно собственным предпочтениям, либо согласно потенциальной возможности опиздюлиться, ни то, ни другое к разработке отношения не имеет, учитывать то, что где-то якобы есть человек, который правильно умеет расставлять приоритеты - это неразумно. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.09.2019, 13:13 |
|
Вопрос на собеседовании: почему тормозит production
|
|||
---|---|---|---|
#18+
maytonАндрей Панфиловпропущено... Это больше про то, что существующие системы багтрэгинга (incident management и пр., как вам будет угодно называть) ничего общего с реальностью не имеют, по науке (тут я приминаю как должное что не все книжки по специальности читали) приоритет в багтрэкинге - это суперпозиция влияния на бизнес и критичности, а по факту получается так, что приоритеты в багтрэкинге ставят от балды, в результате не выходе получается то что получается. Человек опытный в эксплуатации обычно правильно приоритезирует. Но если он поставит блокер а у вас есть какие-то другие задачи - то это лишний повод поговорить о том кто чем занят. Это полезно и проясняет статус-кво. У нас данный процесс тупо расписан и принят на уровне компании. Не припомню того, чтобы мы промахивались с приоритетами. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.09.2019, 13:14 |
|
Вопрос на собеседовании: почему тормозит production
|
|||
---|---|---|---|
#18+
skyANAТу как бы догадываться ни о чём не надо :)Ну а чего вы к разработчикам-то поперлись с диагностикой? Заводите дефект в багтрэкинге и ждите когда решат. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.09.2019, 13:15 |
|
Вопрос на собеседовании: почему тормозит production
|
|||
---|---|---|---|
#18+
В начали конечно были шераховатости, но мы их на практике нивелировали. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.09.2019, 13:15 |
|
Вопрос на собеседовании: почему тормозит production
|
|||
---|---|---|---|
#18+
Андрей ПанфиловskyANAТу как бы догадываться ни о чём не надо :)Ну а чего вы к разработчикам-то поперлись с диагностикой? Заводите дефект в багтрэкинге и ждите когда решат. У нас другая организационная структура, другая культура и процессы. А ещё у нас SaaS система, и десятки миллионов пользователей не очень любят ждать долгой реакции на проблему :) ... |
|||
:
Нравится:
Не нравится:
|
|||
23.09.2019, 13:17 |
|
Вопрос на собеседовании: почему тормозит production
|
|||
---|---|---|---|
#18+
skyANAУ нас другая организационная структура, другая культура и процессы. А ещё у нас SaaS система, и десятки миллионов пользователей не очень любят ждать долгой реакции на проблему :)Ваша проблема в том, что вы пытаетесь вашу субъективную действительность выставить как объективную реальность. Ну поддерживаете вы там свой доморощенный SaaS, ну поддерживайте дальше. Вот прямая аналогия с вопросом топика: что делать в случае пожара в офисе? Разумный человек скажет, что нужно свалить из офиса как можно быстрее, неразумный кинется тушить пожар (хотя есть более другие специально обученные люди) skyANAТот же NewRelic показывает, что конкретно и в какой момент времени начало тормозить, при какой нагрузке, и продолжается-ли до сих пор. Что вам ещё нужно для воспроизводимого сценария?У меня одна jsp-страница выдает необходимую диагностику для траблшутинга в 99% случаев (тут я не копенгаген сказать почему никто до такого не догадался и в той же JVM не сделал из коробки), зачем не APM? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.09.2019, 13:45 |
|
Вопрос на собеседовании: почему тормозит production
|
|||
---|---|---|---|
#18+
Андрей ПанфиловskyANAУ нас другая организационная структура, другая культура и процессы. А ещё у нас SaaS система, и десятки миллионов пользователей не очень любят ждать долгой реакции на проблему :)Ваша проблема в том, что вы пытаетесь вашу субъективную действительность выставить как объективную реальность.Не пытаюсь. Скорее вы так воспринимаете мнение, отличное от вашего. Я в этом топике ровно для того, чтобы высказать своё мысли о том, почему на мой взгляд задают на собеседованиях вопросы о том, что вы будете делать, если что-то там происходит на проде. Если кратко, то чтобы понять какой у разработчика опыт работы с инцидентами в продакшене. И как он будет действовать в случае чего. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.09.2019, 14:10 |
|
Вопрос на собеседовании: почему тормозит production
|
|||
---|---|---|---|
#18+
skyANAЯ в этом топике ровно для того, чтобы высказать своё мысли о том, почему на мой взгляд задают на собеседованиях вопросы о том, что вы будете делать, если что-то там происходит на проде. Если кратко, то чтобы понять какой у разработчика опыт работы с инцидентами в продакшене. И как он будет действовать в случае чего.Какой может быть опыт у разработчика по решению инцидентов в продакшене? Разработчик должен писать код согласно спецификации, user story и пр., либо фиксить баги согласно сценарию воспроизведения (ровно как и аналитик должен в багтрекинге писать user story на языке понятном разработчику и тестировщику, а не придумывать отсебятину). Тушить пожары разработчик не должен - не его это обязанность. Если компании нужен опытный траблшутер, то и в вакансии должно быть указано что хотят траблшутера. А иначе давайте еще бухгалтеров набирать способных излагать проблемы языком, понятным для разработчиков. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.09.2019, 14:19 |
|
Вопрос на собеседовании: почему тормозит production
|
|||
---|---|---|---|
#18+
Андрей ПанфиловskyANAЯ в этом топике ровно для того, чтобы высказать своё мысли о том, почему на мой взгляд задают на собеседованиях вопросы о том, что вы будете делать, если что-то там происходит на проде. Если кратко, то чтобы понять какой у разработчика опыт работы с инцидентами в продакшене. И как он будет действовать в случае чего.Какой может быть опыт у разработчика по решению инцидентов в продакшене? Разработчик должен писать код согласно спецификации, user story и пр., либо фиксить баги согласно сценарию воспроизведения (ровно как и аналитик должен в багтрекинге писать user story на языке понятном разработчику и тестировщику, а не придумывать отсебятину). Тушить пожары разработчик не должен - не его это обязанность. Если компании нужен опытный траблшутер, то и в вакансии должно быть указано что хотят траблшутера. А иначе давайте еще бухгалтеров набирать способных излагать проблемы языком, понятным для разработчиков. Да разный может быть опыт. Уверен, что вы лично с этим сталкивались :) По вашему с какой целью ТСа спросили то, что спросили? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.09.2019, 14:32 |
|
Вопрос на собеседовании: почему тормозит production
|
|||
---|---|---|---|
#18+
skyANAДа разный может быть опыт. Уверен, что вы лично с этим сталкивались :) По вашему с какой целью ТСа спросили то, что спросили?Если подходить к траблшутингу "в целом", то вот лично я могу накидать так факторов 30 (может больше) влияющих на производительность ИС, для конкретной взятой ИС оно сужается наверное до ~5, т.е. если мы пытаемся взять на работу человека из другой компании, то вероятность "правильного" ответа на поставленный вопрос довольно мала в случае inhouse-разработки, в случае поддержки конкретного вендорского ПО шансы повышаются значительно. Со своей стороны, я бы расценивал подобный вопрос как признак наличия бардака в SDLC, при условии что вакансия для обычного разработчика, а не top-notch (ну в этом случае я бы и на форуме ничего не спрашивал) ... |
|||
:
Нравится:
Не нравится:
|
|||
23.09.2019, 15:07 |
|
|
start [/forum/topic.php?fid=59&msg=39865580&tid=2121101]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
177ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
56ms |
get tp. blocked users: |
1ms |
others: | 238ms |
total: | 520ms |
0 / 0 |