ASP.NET Высокие Серверы Обеспечения ЦП к их Коленям

Сервер имеет несколько NICs? У меня были подобные проблемы, когда сервис служб удаленных рабочих столов связывает с неправильным. Если это - случай, см. RDP - разъединенный Удаленный рабочий стол, Ошибка 2 308 закрытых сокетов

8
задан 23 November 2011 в 14:08
5 ответов

Предлагаю делать дампы памяти и анализировать их в WinDdg с помощью Sos. Я исправил некоторые проблемы в нашей продукции, которые я, вероятно, не смог бы диагностировать без WinDbg.

У Тесс Фернандес есть отличный блог, где вы можете узнать, как анализировать дампы памяти.

3
ответ дан 2 December 2019 в 23:06

Обычно это вызвано очисткой больших долгоживущих объектов в GC ( stackoverflow имел эту проблему, см. Ссылку ). Вы храните много коллекций объектов в кэше или в сеансе?

Assault by GC

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

1
ответ дан 2 December 2019 в 23:06

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

1
ответ дан 2 December 2019 в 23:06

Попробуйте использовать кэш-сервер в качестве внешнего интерфейса, например Apache Traffic Server (ATS) .

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

0
ответ дан 2 December 2019 в 23:06

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

  1. Вы должны воспроизвести проблему. Jmeter - хорошее начало из-за его широты, но мы не можем порекомендовать подходящий инструмент, не зная нашей архитектуры.
  2. Ведение журнала особенно на уровне вашего приложения является обязательным. Вы можете включить трассировку IIS для снижения производительности, но маппеты в Microsoft сделали это так, что вы не можете захватить весь поток конвейера, когда он медленный. Если это так сложно воспроизвести, вы Мне очень нужны журналы, которые помогут вам сузить , где проблема. (например, о, это всякий раз, когда мы вызываем эту сохраненную процедуру).

100% ЦП немного подозрительно в том смысле, что вряд ли это будет ввод-вывод (при условии, что db - это еще один блок, медленная база данных не должна вызывать 100 % CPU на веб-серверах). Вам нужно присмотреться к дому.

0
ответ дан 2 December 2019 в 23:06

Теги

Похожие вопросы