2014-12-01 3 views
-1

Сервера Пятносервера случайных простоев Windows Server 2003 sp2 .net4

Microsoft Windows Server 2003 Enterprise Edition SP2

IIS 6

.net4

Intel (R) Xeon (R) CPU X5680 @ 3,33 ГГц, 2,00 ГБ ОЗУ Удлинение физического адреса

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

Мы обновили свой веб-сайт от .net1 до .net4, потому что мы думали, что причина их простоя и случайного выхода пользователя из-за того, что они запускают свой веб-сайт на .net1. Веб-сайт работал нормально, без каких-либо проблем в течение нескольких месяцев.

В первый раз, когда сервер начал спускаться после того, как это произошло из-за диска, на котором находился веб-сайт при исчерпании дискового пространства. На этот диск было 40 ГБ, и было добавлено 20 ГБ. Это не решило проблему очень долго.

Во второй раз, когда сервер случайно опустился, я заметил в средстве просмотра событий, что веб-рабочий, связанный с пулом приложений, используемым веб-сайтом, периодически требует повторного использования. То есть на вкладке «Безопасность» в средстве просмотра событий я периодически видел событие с идентификатором 1074 «Рабочий процесс с идентификатором процесса« 1540 », обслуживающий пул приложений« Net4 », запросил переработку, потому что рабочий процесс достиг своей разрешенной обработки лимит времени.'. Затем я вошел в свойства этого приложения и увидел, что пул приложений будет перерабатываться каждые 29 часов, что по умолчанию. Я изменил это, чтобы каждый день в 3:00 утра каждый день перерабатывал пул приложений. С тех пор мы не видели это событие в средстве просмотра событий. Мы смогли поймать сайт во время одного из его простоев, прежде чем это было изменено, и переработал пул приложений вручную. Это разрешило проблему в этом одном экземпляре.

Это не надолго устранило проблему, поскольку мы по-прежнему получаем электронные письма от нашего клиента, информирующие нас о том, что веб-сайт не работает в течение нескольких часов.

Затем я настроил счетчик счетчиков производительности монитора. Нам удалось контролировать производительность сервера в течение многих из этих простоев. Это не похоже на проблему с памятью, так как на диске достаточно места. Это, по-видимому, не является утечкой памяти или связано с избыточным поисковым вызовом, поскольку нет запущенных процессов, которые занимают чрезмерное количество% процессорного времени, а счетчик страниц/второй памяти не достигает максимума при чрезмерной сумме в течение большей части времени простоя (Я объясню, почему чрезмерный пейджинг происходит позже). Суммарное количество байтов данных/сек IO и IO Другие байты данных/сек. В большинстве случаев не всегда высокий или низкий во время простоя счетчик процессов. В течение этого времени счетчик количества счетчиков и счетчика счетчиков не обнаруживает каких-либо аномальных всплесков или капель. Общее количество потоков в данный момент времени составляет от 600 до 900, давайте или принимаем. Общее количество ручек в данный момент времени составляет от 15 000 до 23,00, отдавать или принимать. % Time в Jit .NET CLR jit counter, например w3wp, составляет 0 в течение примерно половины времени и будет произвольно пикать почти на 100 другой половине, большую часть времени достигает максимума на мгновение, но редко достигает максимума в течение примерно 10 минут, не связанных между собой к простою.

Есть случайные моменты в течение дня, когда процесс dsmcsvc занимает больше всего, если не все,% Processor Time. Это процесс, выполняемый программным обеспечением Symantec Antivirus.Когда этот процесс занимает% Processor Time, в средстве просмотра событий есть соответствующее событие, означающее, что загружен новый файл определения вируса, то есть событие приложения с идентификатором 7 'Загружен новый файл определения вирусов. Версия: #version number # '. Когда это событие происходит, счетчик Pages/Sec шип. Иногда он всплескивается до 200-300, но в разы превысит 10 000. Это событие, похоже, совершенно не связано с простоями веб-сайта. Я исследовал программное обеспечение Symantec Antivirus и обнаружил, что в старых версиях этого программного обеспечения существует известная утечка памяти. Я обнаружил, что это программное обеспечение, как известно, вызывает высокую память, когда ссылка на процесс с именем NavLogon.exe сломана/не существует. Этот процесс, похоже, не существует на сервере, поэтому у меня нет способа восстановить ссылку на него. Я также обнаружил, что это программное обеспечение использует Crypt32.dll, а старые версии Crypt32.dll имеют известную утечку памяти. Crypt32.dll, которая существует на сервере, в последний раз обновлялась в 2007 году.

Журнал монитора производительности отслеживает общее количество сеансов Active ASP.Net Applications. Во время простоя общее количество сеансов не проявляет какого-либо ненормального поведения, за это время обычно проводится активное количество активных сеансов. Активные сеансы в данный момент времени могут быть между 0 и 200. Мне сообщили, что время, когда большинство пользователей активны, находится в 1-й смене, однако в течение примерно 10 вечера и 2 утра каждый день это число достигает максимума.

Сайт работает на стороне клиента JavaScript и на стороне сервера Visual Basic.net. Все пользователи имеют около 10-15 переменных сеанса почти все время.

Когда сайт идет вниз, нет событий, которые, по-видимому, соответствуют его простоям в средстве просмотра событий.

Я также создал журнал расширенного журнала файлов W3C для этого сайта. Во время простоя появляется слишком много запросов GET для Telerik.RadUploadProgressHandler.ashx.

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

ответ

0

Это не проблема с памятью, так как на диске достаточно места.

Действительно? Память и пространство на жестком диске - это две совершенно разные вещи. 2 ГБ оперативной памяти было в порядке десять лет назад, когда этот сервер был новым, но сегодня он смехотворно мал.

Но не утруждайте себя обновлением или добавлением ОЗУ. Этот сервер достаточно стар, проблема, вероятно, в том, что аппаратное обеспечение доходит до конца полезной жизни. Кроме того, операционная система также приближается к концу жизни. Сервер 2003 запланирован на конец жизни 14 июля 2015 года. После этой даты не будет никаких новых патчей любого типа, выпущенных для Server 2003 ... даже не критических патчей безопасности. Это сделает сервер 2003 совершенно непригодным как веб-сервер.

Это, похоже, хорошее время для перехода на совершенно новый сервер.

+0

Извините, что заблудились на диске и памяти. Веб-сайт будет распущен после июня 2015 года. «Проблема, вероятно, в том, что аппаратное обеспечение доходит до конца полезной жизни». Я не совсем уверен, что вы подразумеваете под этим. Помимо перехода на новый сервер, есть ли какие-либо другие варианты, которые вы можете предложить, есть ли какие-либо причины, по которым вы можете думать, что может вызвать это? – dnison

+0

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

+0

Спасибо за ваш вклад. Я считаю, что это как-то связано с элементом управления RadUploadProgressHandler. Как я уже говорил, я настраивал журнал iis для регистрации запросов, и кажется, что во время простоя единственными запросами, которые регистрируются, являются запросы GET для Telerik.RadUploadProgressHandler.ashx с запросами на веб-страницу, происходящую каждые пару минут или около того. Так как это машина имеет один одноядерный процессор, она в действительности может обрабатывать только одну задачу в любой момент времени. Поэтому, если сервер постоянно обрабатывает эти GET-запросы, он не может обрабатывать другие запросы и кажется, что он не работает, правильно? – dnison

 Смежные вопросы

  • Нет связанных вопросов^_^