Как включить и получить счетчики производительности для Window Azure - PullRequest
2 голосов
/ 22 октября 2011

Я разработал одно веб-приложение для мониторинга приложения Azure (Webrole) с помощью консольного (EXE) приложения, которое подключается в задаче запуска с помощью приложения Azure, и что EXE будет периодически отправлять данные для использования ЦП, памяти и общего сеанса asp.net, однако ясделали это с помощью WMI Query, как показано ниже.

Загрузка процессора

 ManagementObjectCollection queryCollection = ExecuteWMIQuery("SELECT * FROM Win32_Processor");

Память

 queryCollection = ExecuteWMIQuery("SELECT * FROM Win32_OperatingSystem");

asp.net Session

queryCollection = ExecuteWMIQuery("Select SessionsActive from Win32_PerfRawData_ASPNET_ASPNETApplications");

Но когда я тестирую его с помощью окна Azure, в журнале событий появляется ошибка, как показано ниже

Отключен сбор данных счетчика производительности из «ASP.NET_64_2.0.50727»служба, поскольку библиотека счетчиков производительности для этой службы сгенерировала одну или несколько ошибок.Ошибки, вызвавшие это действие, были записаны в журнал событий приложения.Исправьте ошибки перед включением счетчиков производительности для этой службы


Windows не может открыть 64-разрядный расширяемый счетчик DLL ASP.NET_64_2.0.50727 в 32-разрядной среде.Обратитесь к поставщику файла, чтобы получить 32-разрядную версию.В качестве альтернативы, если вы работаете в 64-битной собственной среде, вы можете открыть DLL-библиотеку 64-битного расширяемого счетчика с помощью 64-битной версии системного монитора.Чтобы использовать этот инструмент, откройте папку Windows, откройте папку System32, а затем запустите Perfmon.exe.

Вот почему я хотел бы изменить свою логику с классом System.Diagnostic и получить процессорИспользование, доступная память и общий сеанс asp.net с использованием этого класса.

Я подключил RDP приложения Azure и запустил perfmon.exe и вижу доступный счетчик производительности, однако нашел только один счетчик% процессорного времени, поэтому мне нужно добавить еще один счетчик.

Может кто-нибудь подсказать, пожалуйста, как мне его включить и получить с помощью C # в моем приложении EXE (будет в задаче запуска)?

Ваши повторы могут быть очень полезны для достижения моей цели

Заранее спасибо!Арун.

.

Ответы [ 2 ]

2 голосов
/ 22 октября 2011

Похоже, ваше приложение было создано как 32-битное приложение. Попробуйте выполнить перестройку с менеджером конфигурации, для которого установлено значение «Любой процессор», а затем повторно разверните.

Кроме того, проверьте, получили ли вы какие-либо предупреждения о развертывании 32-разрядных библиотек DLL.

0 голосов
/ 22 октября 2011

У Майкла Уэсхэма есть несколько действительно хороших сообщений об использовании командлетов PowerShell Azure для диагностики и производительности Azure.ИМХО PowerShell - лучший способ использовать лазурь.

Блог Майкла.http://michaelwasham.com/

...