Как подготовиться к добавлению счетчика производительности? - PullRequest
1 голос
/ 09 января 2011

Я начинаю строить механизм кэширования, в функцию я хочу добавить поддержку счетчика производительности, поэтому вопрос заключается в том, как мне спланировать голову для этого порядка поддержки, мне нужно будет изменить немного кода, насколько это возможно, когдаЯ вхожу в эту функцию

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

Если я попытаюсь заранее угадать, что мне нужно измерить, это поможет мне во встроенной функции, когда я его реализую?

У вас есть еще какие-нибудь предложения, как мне подготовиться к добавлению?эта функция?

Есть ли известная альтернатива счетчику производительности?

Спасибо.

Ответы [ 2 ]

2 голосов
/ 09 января 2011

Это зависит от сложности измерения вашей производительности. Если это просто и требуется только в нескольких местах, используйте переключатели компилятора или подобные вещи. Для сложных и более устойчивых сценариев я попробовал две возможности:

  1. Вы можете использовать одну из сред AOP, например PostSharp. Хотя это может быть излишним, преимущество в том, что вам не нужно никоим образом подготавливать свой код, вы просто добавляете соответствующий «аспект» подсчета производительности на соответствующих позициях.

  2. Вы могли бы рассмотреть архитектуру для вашего приложения, которая сама по себе является настраиваемой, то есть состоит из незакрепленных компонентов, которые взаимодействуют путем отправки и получения «сообщений». В таких архитектурах компоненты не знают друг друга, они просто знают точки приема / отправки, из которых они получают / отправляют сообщения. Затем легко «вставить» правильно сконфигурированные компоненты подсчета производительности в произвольные позиции в сети компонентов.

Приветствия

Пол

2 голосов
/ 09 января 2011

Очень просто открыть и обновить счетчик производительности, нужно всего несколько операторов.Но вам нужно учитывать, о каких мерах вы будете сообщать, и будет ли это встречным объектом с одним или несколькими экземплярами.И вам понадобится установщик (счетчики производительности должны быть зарегистрированы).

Сначала рассмотрите меры, о которых вы будете сообщать.Такие вещи, как скорость использования кэша, элементы в кэше и коэффициент попадания в кэш очевидны.Но есть ли что-нибудь еще, что поможет администрировать ваше приложение?Если вы можете поговорить с людьми, которые будут администрировать и поддерживать приложение, тогда сделайте это - у них, вероятно, будут свои собственные представления о том, что полезно.

Ожидайте узнать в реальном использовании, какие полезные счетчики!

Если в одной системе будет один экземпляр вашего кэша, то счетчики с несколькими экземплярами не имеют смысла, но если вам нужны экземпляры, вам нужно подумать, как будут называться эти экземпляры.

Наконец, стоит взглянуть на опции, доступные для типов счетчиков, и на то, что они означают - система счетчиков производительности будет выполнять некоторую работу за вас (например, вычисление дельт и скоростей отдельных счетчиков и итогов по экземплярам).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...