Pull to refresh

Comments 6

Читая статью в голове крутится вопрос. A действительно ли это важно для десктопных продуктов? И как дела обстоят с серверными вариантами (XEN, KVM, ESX, HyperV, PCS)?
я что-то не могу придумать зачем профайлер (и многие из этих счетчиков) нужны в серверных продуктах. зачем?
Сейчас многие живут в виртуальных машинах, если мы говорим о серверных продуктах (облака и все такое). В случае проблем с производительностью, часто бывает полезна любая информация. Чем ее больше, тем больше вероятность, что с вашей проблемой разберутся в короткие сроки. Не все проблемы воспроизводятся локально.

Мне лично это интересно, потому что я работаю на Linux. Почти вся моя разработка ведется не локально, а на удаленных машинах, часто в виртуалках. Можно все установить на реальной машине, но это время, которого обычно нет.
Сначала о серверных продуктах:
— Xen — сорцы от 4.3.0 подсказывают, что подход к виртуализации там такой же, как в PD9, то есть точности измерений конечно будет ниже, чем на реальном оборудовании, но характерные проблемы приложения выплывут.
— KVM (смотрел в ядре 3.10) — описано в статье, в результатах профилирования будет незаметно подмешана нагрузка от гипервизора.
— ESX — поддержка PMU появилась в версии 5.0, но, к сожалению, ничего не могу сказать о том, каким образом они заимплементили. Не исключено, что так же, как и в Workstation 9.0/Fusion 5.0.
— Hyper-V — насколько мне известно не дает доступа к PMU вообще. Про Virtual PC так же не могу сказать с уверенностью.

Про важность: думаю все-таки неплохо знать о подводных камнях этой фичи. Иногда встречаются кличи на форумах о проблемах с профайлерами в виртуальном окружении (на десктопных продуктах), значит находятся люди, которые используют\будут использовать виртуальный PMU.
Скажите, были ли обнаружены какие-либо преимущества профилировки под виртуальной машиной в случае, когда есть целый ПК на целевой платформе? Или можно сказать: «никогда не используй виртуальную машину для профилировки, если у тебя есть подходящий ПК»?
Лучше профилировать на реальной машине. Но крайности совершенно не к чему: если не нужно искать хитрых аппаратных эффектов (вроде false-sharing, хотя конечно не такой уж он и хитрый), а необходимо просто найти «горячий» код, то почти в любой виртуалке можно получить показательную статистику.

Перетаскивать рабочее окружение с машины на машину все-таки невелика радость.
Sign up to leave a comment.