Назад | Перейти на главную страницу

fastcgi-mono-server с Nginx намного медленнее, чем xsp4

Мы начали тестировать наше приложение MVC4 на сервере xsp4, скомпилированном с помощью mono-3.0.3, скорости хватило, и мы решили наладить продакшн. fastcgi-mono-server4 (версия 2.11.0.0) с nginx (1.2.6-r1).

Один запрос, который загружает некоторый запрос JSON, занял ~ 200 мсек на XSP4, но Nginx обслуживает запрос примерно за 1,2 секунды, и мне интересно, где может быть такое замедление?

Я следил за настройкой nginx: http://www.mono-project.com/FastCGI_Nginx а fastcgi-mono-server4 использует сокет для прослушивания nginx.

У вас есть идеи, как записать временную метку, которая мне поможет?

Спасибо

Во-первых, использование версии 2.11.x - гарантия неприятностей. 11 - нечетное число, что означает, что это неустойчивый версия.

Поэтому избегайте 2.11.x и обновитесь до 3.x (x - четное число, то есть 0 или 2).

Во-вторых: если вы используете Mono 3.2.x вместо 3.0.x, вы по умолчанию будете использовать новый сборщик мусора, который, я уверен, будет намного быстрее.

И последнее, но не менее важное: помните о некоторых проблемах с высокой доступностью и производительностью:

  1. смотреть на этот ответ stackoverflow чтобы знать, как избежать «слишком глубоких» проблем (переведенных NGinx как 502).
  2. Используйте флаг --server при вызове mono (вам может потребоваться жестко запрограммировать этот флаг в скрипте mono-fastcgi-server вашей системы). Эта функция была представлена ​​в моно 3.2.3.
  3. Если вы по-прежнему испытываете плохую производительность, попробуйте самостоятельно скомпилировать Mono с помощью этот патч применен (который, надеюсь, будет включен в версию Mono 3.2.5).