Schetchiksg.ru

Счетчик СГ
3 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Ошибка обновления счетчика производительности имя счетчика

Пулы соединений сбрасываются с ошибкой: 18056, серьезность: 20, состояние: 46. & Счетчики производительности не отображаются

Мы используем проверку подлинности SQL (для уменьшения числа пулов соединений) и строки подключения .NET 4.0 для подключения к SQL Server Enterprise Edition 2012 SP1 на Windows 2008 R2 Enterprise Server:

Microsoft SQL Server 2012 (SP1) — 11.0.3000.0 (X64)
19 октября 2012 г. 13:38:57
Авторские права (c) Microsoft Corporation
Enterprise Edition (64-разрядная версия) на Windows NT 6.1 (сборка 7601: пакет обновления 1)

Мы используем около 50 серверов, разделенных на 8 разных групп разных частей сайта.

Наш веб-сайт использует этот SQL Server для регистрации данных отслеживания посещений. За последние несколько дней он выдал следующие сообщения о сбросе пулов соединений:

Клиент не смог повторно использовать сеанс с SPID 1327, который был сброшен для пула соединений. Идентификатор ошибки — 46. Эта ошибка могла быть вызвана ошибкой предыдущей операции. Непосредственно перед этим сообщением об ошибках проверьте журналы ошибок на наличие ошибок.

Журнал ошибок гласит:

Ошибка: 18056, уровень серьезности: 20, состояние: 46.
Клиенту не удалось повторно использовать сеанс с SPID 959, который был сброшен для пула соединений. Идентификатор ошибки — 46. Эта ошибка могла быть вызвана ошибкой предыдущей операции. Непосредственно перед этим сообщением об ошибках проверьте журналы ошибок на наличие ошибок.
Не удалось войти в систему для пользователя ‘xxxx’. Причина: не удалось открыть базу данных «xxxxxxxx», настроенную в объекте входа, при повторной проверке имени входа в соединении. [КЛИЕНТ: 10.xx.xx.xxx]

После некоторого поиска я нашел этот документ в блоге CSS: Как это работает: Ошибка 18056 — Клиенту не удалось повторно использовать сеанс с SPID ##, который был сброшен для пула соединений, и этот Аарон Бертран: Устранение ошибок 18456 , Я знаю, что номер ошибки отличается, но идентификатор ошибки совпадает с количеством сообщений идентичны).

Идентификатор сбоя 46 предполагает, что у входа не было разрешений. Наши логины по умолчанию имеют основную базу данных, а имя БД указывается в строке подключения.

Я хотел проверить количество пулов строк подключения и т. Д. И проверил все счетчики в Perfmon .Net Data Provider for SqlServer . Это только дало мне возможность defaultdomain9675 для экземпляра, поэтому я выбрал это, предполагая, что это сгенерированное системой имя для нашей сети центра обработки данных. К сожалению, все счетчики читают ноль. На одном из наших других основных серверов пулы соединений колеблются около 10, что я ожидал увидеть на работоспособном сервере с такой нагрузкой.

Мой вопрос в 3 раза

Кто-нибудь может подсказать, почему Windows 2008 R2 Server не отображается .Net Data Provider for SqlServer ?

Кто-нибудь сталкивался с этим, поскольку я, очевидно, считаю, что логин, не имеющий разрешений, — красная сельдь?

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

Минимальные и максимальные настройки памяти составляют 20 и 58 ГБ соответственно. Сервер является выделенным сервером базы данных с 64 ГБ оперативной памяти. Я не думаю, что память — проблема, поскольку у коробки, кажется, есть приличная ожидаемая страница. Автоматическое закрытие не включено. Сервер всегда работает: это веб-сайт 24×7 с интенсивным использованием.

Последствия обновлений Exchange Server 2010 и борьба с ними

В этой статье я расскажу о тех радостях, который мне принесли официальные обновления Exchange Server 2010 и том, как я с ними боролся:

Моя изначальная конфигурация

  • Домен на уровне Windows Server 2008 R2
  • Выделенный сервер с ОС Windows Server 2008 R2, на нём
    • Exchange Server 2010 с установленными ролями MBX, CAS и HUB; в течение его жизни ставились все актуальные обновления Update Rollup, а затем Service Pack 1
    • Forefront Protection for Exchange 2010
Читайте так же:
Как сбросить счетчик кастомных прошивок galaxy

Автоматическое подключение дополнительных почтовых ящиков к Outlook

Не трудно представить ситуации, когда нужно получить доступ к почтовому ящику другого пользователя. Как известно, для этого совсем не нужно сбрасывать пароль этого пользователя, а достаточно в Exchange Management Console назначить Full Access Permission для этого ящика на свою учетную запись.

До выхода Exchange Server 2010 SP1 следующим шагом нужно было открыть свойства вашей учетки в Outlook-e и добавить в неё дополнительный почтовый ящик. После выхода SP1 этого делать не нужно, все почтовый ящики, на которые вам назначены полные права, при запуске Outlook будут автоматически показаны в списке.

С одной стороны, такой поведение может показаться удобным. С другой… Даже если вручную закрыть дополнительный ящик в настройках учетки Outlook, при следующем запуске он снова будет открыт. Это влечет за собой следующие негативные моменты:

  • Далеко не всегда нужно постоянно держать открытыми все ящики (которых может быть много), на которые у вас есть полные права, а также синхронизировать из содержимое.
  • Если отменить полные права на дополнительный ящик, он по-прежнему будет выводится в Outlook, но при попытке просмотреть его содержимое выдаст ошибку прав доступа.

Для того, чтобы отключить автоматическое подключение дополнительных почтовых ящиков к вашей учетке в Outlook, нужно

  • Включить отображение Advanced Features в консоли Active Directory Users and Computers
  • Для каждой учетной записи, ящик которой автоматически подключается к вашей
    • открыть Attribute Editor
    • найти параметр msExchDelegateListLink
    • удалить вашу учетку из этого списка

После перезапуска Outlook ящики обработанных таким образом пользователей отображаться не будут.

Служба Microsoft Exchange Transport на стартует при запуске системы

После перезагрузки сервера можно обнаружить, что письма через него не ходят. Причиной тому — остановленная служба Microsoft Exchange Transport, которая почему-то не запускается при старте системы, хотя должна. Если службу стартовать вручную, она запускается без проблем.

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

The Microsoft Exchange Transport service hung on starting.

Я долго не мог решить эту проблему, пока искал неисправности в самой операционной системе и компонентах Exchange. Как выяснилось, моя система и не была в чем-то виновата, а причиной стала неполная совместимость RTM-версии Forefront Protection for Exchange 2010 с Exchange Server 2010 SP1. Эта и другие проблемы была решены в выпуске Hotfix Rollup 2 для Forefront Protection for Exchange 2010 и описаны в статье KB2420647, всего через 3 месяца после выхода SP1 к Exchange 2010 ;[

Служба Microsoft Exchange Address Book на стартует при запуске системы

А должна бы! Эта служба необходима для полноценной работы Exchange, и если она остановлена, то, например, новый пользователь не сможет подключить свой Outlook к Exchange.

В журнале можно увидеть следующие записи:

Log Name: System
Source: Service Control Manager
Event ID: 7000
Description:
A timeout was reached (30000 milliseconds) while waiting for the Microsoft Exchange Address Book service to connect.

Log Name: System
Source: Service Control Manager
Event ID: 7009
Description:
The Microsoft Exchange Address Book service failed to start due to the following error:
The service did not respond to the start or control request in a timely fashion.

Периодически, то же самое можно увидеть и для служб:

  • Net.Tcp Port Sharing Service
  • Microsoft Exchange Anti-spam Update
  • Microsoft Exchange Mailbox Replication
Читайте так же:
Счетчик не засчитывает переход если

А также для зависимых служб:

The Net.Tcp Listener Adapter service depends on the Net.Tcp Port Sharing Service service which failed to start because of the following error:
The service did not respond to the start or control request in a timely fashion.

Мне не удалось решить эту проблему осмысленными действиями, но после долгих плясок с бубном стабильный автозапуск этих служб заработал после… Удаления клиента System Center Configuration Manager 2007 R3 и агента System Center Operations Manager 2007 R2. Мне не известно, кто из них был виноват, так как после их повторной установки проблем с запуском служб не возникало.

Ошибки счетчиков производительности

В журнале приложений регулярно появляется пачка подобных записей:

Log Name: Application
Source: MSExchange Common
Event ID: 106
Level: Error
Description:
Performance counter updating error. Counter name is Average MWI Processing Time, category name is MSExchangeUMMessageWaitingIndicator. Optional code: 3. Exception: The exception thrown is : System.InvalidOperationException: The requested Performance Counter is not a custom counter, it has to be initialized as ReadOnly.
.
Performance Counters Layout information: FileMappingNotFoundException for category MSExchangeUMMessageWaitingIndicator : Microsoft.Exchange.Diagnostics.FileMappingNotFoundException: Cound not open File mapping for name : Globalnetfxcustomperfcounters.1.0msexchangeummessagewaitingindicator
.

Для того, чтобы избавиться от этих записей, нужно заново зарегистрировать потерянные счетчики производительности. Для этого в Exchange Management Shell нужно выполнить команду:

Затем для каждой группы счетчиков (в моём примере это группа MSExchangeUMMessageWaitingIndicator):

new-perfcounters –definitionfilename «c:Program FilesMicrosoftExchange ServerV14SetupPerfMwiLoadBalancerPerformanceCounters.xml»

Каждой группе потерянных счетчиков в папке c:Program FilesMicrosoftExchange ServerV14SetupPerf соответствует XML-файл, который можно определить либо по имени, либо поиском по содержимому.

Возможные конфликты портов

Некоторые службы Exchange используют динамические порты для входящих соединений RPC. Динамические порты случайно выбираются при каждом запуске соответствующей службы. По счастливому случаю выбор может пасть на зарезервированный порт другой службы, которая еще не успела запуститься и занять свой порт. Тогда мы получим подобный конфликт:

The WinRM service is not listening for HTTP requests because there was a failure binding to the URL (http://+:47001/wsman/) in HTTP.SYS.

No remote requests will be serviced on that URL.

User Action
Please use «netsh http» to check if ACL for URL (http://+:47001/wsman/) is set to Network Service.

Unable to bind to the underlying transport for [::]:47001. The IP Listen-Only list may contain a reference to an interface which may not exist on this machine. The data field contains the error number.

С помощью следующих команд вычисляем наглеца, занявшего чужой порт:

netstat -ano | findstr «:47001»
TCP 0.0.0.0:47001 0.0.0.0:0 LISTENING 1412
tasklist |findstr «1412»
Microsoft.Exchange.RpcCli 1412 Services 0 159 036 K

…им оказалась служба Microsoft.Exchange.RpcCli. Чтобы избежать конфликтов, рекомендую настроить привязку к фиксированным портам с помощью следующих записей в реестре (для Exchange 2010 SP1):

[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicesMSExchangeRPCParametersSystem]
«TCP/IP Port»=dword:0000e88c

Предупреждения о HomeMTA

Log Name: Application
Source: MSExchange ADAccess
Event ID: 2937
Level: Warning
Description:
Process powershell.exe (PID=8552). Object [CN=Username,CN=OU,DC=domain,DC=local]. Property [HomeMTA] is set to value [domain.local/Configuration/Deleted Objects/Microsoft MTA DEL. ], it is pointing to the Deleted Objects container in Active Directory. This property should be fixed as soon as possible.

Причиной сему — опять же обновление до SP1, в ходе которого почему-то не все пользователи Exchange были должным образом обработаны. Для решения этой проблемы в Exchange Management Shell нужно выполнить:

Get-Mailbox Username | Update-Recipient

Для массового обновления все ящиков пользователей в конкретной базе MDB можно использовать get-mailbox -database «MDB» .

Читайте так же:
Счетчик сэт 4тм завод имени фрунзе

Не удается загрузить данные имени счетчика из-за недопустимого исключения индекса

Я использую C# и WPF-операционная система windows 7 профессиональная и Visual Studio 2012, SQL Server 2012.

Я использовал сетку Devexpress в wpf. Я хочу привязать его к базе данных, используя режим сервера ADO.Net. Я выбрал опцию «Items Source Wizard» для выполнения этой привязки, но она сгенерировала следующее исключение:

InvalidOperationException: не удается загрузить данные имени счетчика, так как из реестра был считан недопустимый индекс».

Что означает это исключение?

Не могли бы вы помочь мне решить эту проблему?

3 ответа

  • как поймать исключение для недопустимого ввода данных?

Я хочу поймать исключения, когда конечный пользователь вводит недопустимый формат или покидает поле без ввода каких-либо данных. Я использовал строковый тип для имени и фамилии Name.Here-это проблема, так как строковый тип принимает как данные строкового типа, так и числовые данные, блок catch не.

Я попытался загрузить в хранилище объектов IBM Cloud (ICOS) со следующим кодом, и некоторые файлы не удалось загрузить. Неудачные файлы содержат символ [ или ] в имени файла. TransferUtility Utl = new TransferUtility(objClient); TransferUtilityUploadDirectoryRequest request = new.

Просто это сообщение было связано с тем, что обновления Microsoft Dynamics CRM не были установлены, и отмеченный ответ на этот пост очень помог:

Нажмите кнопку Пуск, введите cmd, щелкните правой кнопкой мыши cmd.exe и выберите Запуск от имени администратора. В командной строке введите lodctr /r и нажмите ENTER.

По-видимому, Windows хранит кэш некоторых счетчиков в реестре по адресу HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionPerflib09 Counter + Help . Если этот кэш поврежден (содержит пустые строки), вы получите вышеуказанные ошибки — и lodctr /r перестроит этот кэш.

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

C:windowssystem32> lodctr /r

вы получаете ошибку

Error: Unable to rebuild performance counter setting from system backup store, error code is 2

тогда вам вместо этого нужно запустить

C:windowsSysWOW64> lodctr /r

после чего вы должны получить

Info: Successfully rebuilt performance counter setting from system backup store

Обратите внимание, что это должно быть сделано от имени администратора. Я нашел решение здесь

Перейдите в меню Пуск, введите”cmd”.

Щелкните правой кнопкой мыши на cmd.exe и выберите «Запуск от имени администратора».

Введите “lodctr /r” » и нажмите клавишу enter.

Затем вы получите сообщение «Информация: успешно восстановлена настройка счетчика производительности из хранилища резервных копий системы».

Проверьте, есть ли отключенные поставщики, напишите “lodctr /q” » и нажмите enter

Затем вы получите длинный список поставщиков, убедитесь, что [Клиент CRM] включен, см. Ниже

Если нет, напишите “lodctr /e:CRM Client” и нажмите enter.

  1. Установите накопительный пакет обновления Microsoft Dynamics CRM для Outlook клиента
Похожие вопросы:

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

Я пытался получить общее использование CPU windows PC (Windows 7 работает .Net 4.5) в C#. похоже, что использование PerformanceCounter должно быть в состоянии удовлетворить мои потребности. Я.

Я застрял с этой ошибкой: Deployment оптимизация не удалась из-за недопустимого assembly. Перестройте исходные проекты и повторите попытку. после того, как я попытался перенести DataTriggers из.

Я хочу поймать исключения, когда конечный пользователь вводит недопустимый формат или покидает поле без ввода каких-либо данных. Я использовал строковый тип для имени и фамилии Name.Here-это.

Читайте так же:
Счетчик импульсов домовой рмд

Я попытался загрузить в хранилище объектов IBM Cloud (ICOS) со следующим кодом, и некоторые файлы не удалось загрузить. Неудачные файлы содержат символ [ или ] в имени файла. TransferUtility Utl =.

Завершение работы приложения из-за неперехваченного исключения ‘NSInvalidArgumentException’, причина: ‘попытка прокрутки до недопустимого пути индекса: ‘ Я получил эту.

Фон У меня есть приложение PHP, работающее на сервере CentOS. Передний конец использует вызов ajax для выполнения сценария PHP. Скрипт возвращает файл с сервера и загружает его клиенту. Проблема.

Итак, я хочу загрузить данные индекса, но не могу получить их. Проблема в том, что Yahoo.finance видит тикеры индекса как имеющие перед собой^, например, ^VIX, а не VIX. К сожалению, моему коду это.

Добрый вечер, в настоящее время я работаю над своим заданием и уже несколько часов ищу эту ошибку. Я попытался поймать NPE, который тоже не работал. Что я упускаю? Цель метода-загрузить все файлы в.

Использование пользовательских счетчиков производительности в утилите recoverly addomain

У меня есть приложение ASP.NET, которое отслеживает статистику, создавая и записывая пользовательские счетчики производительности. Иногда в журналах ошибок я вижу, что счетчики не удалось открыть, потому что они уже использовались в текущем процессе. Я предполагаю, что это связано с тем, что .NET appdomain был сброшен в том же процессе w3wp.exe. Как я могу избежать этих ошибок и восстановить соединение с моими счетчиками производительности, когда домен моего приложения был переработан?

[Обновление от 26.03.09] Полученное сообщение об ошибке:

Экземпляр «_lm_w3svc_1_root_myapp» уже существует со временем жизни процесса. Его нельзя воссоздать или повторно использовать до тех пор, пока он не будет удален или пока не завершится процесс с его использованием. уже существует со временем жизни Процесса.

Я попытался реплицировать исключение в консольном приложении, инициализируя счетчики производительности и записывая один из них в переходный AppDomain. Затем я выгружаю AppDomain и делаю это снова во втором Appdomain (тот же процесс). Они оба добиваются успеха. Я не уверен, что именно в этом причина, мое предположение об утилизации AppDomain в ASP.NET кажется ложным.

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

A performance counter was not loaded.
Category Name: ServiceModelService 3.0.0.0
Counter Name: Calls
Exception:System.InvalidOperationException: Instance ‘[email protected]|service.svc’ already exists with a lifetime of Process. It cannot be recreated or reused until it has been removed or until the process using it has exited.

Это всегда происходит сразу после следующего Информационного сообщения в журналах системных событий:

Рабочий процесс с идентификатором процесса в пуле приложений «nnnn» «MyAppPool» запросил переработку, потому что рабочий процесс достиг своего разрешенного времени обработки.

Это приводит к тому, что счетчики контроля производительности для этой службы становятся недоступными, по-видимому, в течение нескольких часов.

Номер версии ServiceModelService 3.0.0.0 будет зависеть от версии .NET, который вы используете (это было протестировано с использованием .NET 3.5).

Задний план

Неисправность вызвана рабочим процессом, достигающим предельного срока обработки, после чего он должен быть переработан. Это задается в настройках повторного использования пула приложений IIS (IIS 6.0 и выше, поэтому Windows Server 2003 и выше). Утилизация рабочего процесса приводит к тому, что новое имя счетчика производительности на основе процесса конфликтует со старым, что создает ошибку. Это связано с тем, что IIS использует перекрытая переработка , где рабочий процесс, который должен быть прекращен, сохраняется до тех пор, пока не начнется новый рабочий процесс.

Читайте так же:
Canon eos 600d счетчик кадров

репродукция

(проверено на Windows Server 2003 = IIS 6.0)

  • Create a WCF service.
  • Add the following to the web.config in the section:
  • In the Application Pool properties for the service under Properties → Recycling, set the Recycle worker process to 1 minute. Manually recycling the Application Pool has no effect, as this does not create a request from the worker process to recycle (as evident in the Event Viewer System logs with W3SVC Information events).
  • In soapUI create a Test Suite/Test Case/Test Step/Test Request for the WCF operation.
  • Add the test case to either a load test in soapUI, or use loadUI, firing the call at the rate of 1 per second.
  • Every 1 minute the worker process will request a recycle (evident in the System logs) . Every 2 minutes this will result in a batch of three errors in the Application logs from System.ServiceModel 3.0.0.0 .
  • The performance counters for that service will become unavailable until the worker process recycles again. (NB Setting the recycle period to a higher value at this point to see how long the performance counters are unavailable for will actually recycle the processes and make the counters available again.)

Возможные решения

Решение 1 — красные сельди

Исправление KB981574 заменяет исправление KB971601 . Последнее исправление описывает проблему:

ИСПРАВЛЕНИЕ: счетчики производительности, которые контролируют приложение, перестают отвечать на запросы, когда приложение выходит и перезапускается, и вы получаете исключение System.InvalidOperationException на компьютере под управлением .NET Framework 2.0

Применение прежнего исправления не устраняет проблему. Применение последнего исправления вызвало ошибки пула приложений.

Решение 2 — рабочее решение

И обратитесь к фабрике в файле служебной разметки .svc :

Окончательные настройки

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

Простая настройка, которая, кажется, полностью устраняет проблему, заключается в том, чтобы добавить команду сна непосредственно перед base.ApplyConfiguration (); :

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

Решение 3 — простейшее решение

Сравнение решений

Решение №3 будет заставлять ваш сайт работать дольше , когда рабочий процесс перерабатывается из-за отсутствия рециркуляции на основе IIS.

На тестах загрузки soapUI базового веб-сервиса, использующего более 100 транзакций в секунду с 5 потоками, «замораживание», когда новые транзакции были заблокированы, было очевидным на пару секунд каждый раз, когда рабочий процесс перерабатывался. Это замораживание было более продолжительным (8+ секунд), когда тестировалась более сложная веб-служба.

Решение № 2 не вызывало такой блокировки, плавного потока ответов во время рециркуляции и не вызывало ошибок в конфликтах с перфори.

Вывод

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

Для веб-служб, которые не могут переносить такие задержки, кажется, что решение №2 — лучший способ продвижения вперед.

голоса
Рейтинг статьи
Ссылка на основную публикацию