Хорошая идея - использовать .NET / Mono в Linux для обслуживания большого количества веб-сервисов? - PullRequest
7 голосов
/ 01 сентября 2010

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

Этот сервис изначально был реализован в C # / .NET, чтобы использовать некоторый код, который мы уже выполняем на хостах Windows. Эта служба не использует ASP.NET, но это простая служба C #, использующая базовый прослушиватель HTTP из .NET.

Служба работает нормально, но время от времени MONO полностью блокирует и перестает отвечать на любые запросы. Производительность в порядке, но не велика, и это показывает, что мы тратим огромное количество времени на выяснение различий между MONO CLR и Windows CLR. Должен признать, что я пришел из Java, и похоже, что экосистема на стороне сервера намного больше на стороне Java, чем экосистема MONO в Linux.

Итак, сейчас я ищу примеры и личный опыт использования Mono в Linux для сервера веб-службы с высоким трафиком.

Ответы [ 2 ]

3 голосов
/ 01 сентября 2010

Не знаю, поможет ли это решить ваши проблемы, но вы можете попробовать запустить свой веб-сервис на mono 2.8 , который поставляется с новым сборщиком мусора .

0 голосов
/ 03 сентября 2011

Для настройки производительности большого объема вам часто нужно учитывать следующие элементы:

  • настройки операционной системы (для TCP / IP)
  • настройки уровня веб-сервера
  • настройки уровня платформы (только для Mono)

Как описано @ yojimbo87, использование последней сборки Mono может помочь повысить производительность по сравнению с уровнем платформы.Но вам также нужно узнать об ОС и веб-сервере, чтобы узнать, есть ли другие подходы к настройке.

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