Производительность руля на стороне сервера Rails
Мы используем рули на стороне сервера в проекте магистральных одностраничных рельсов приложений в среде с высоким трафиком и обнаруживаем, что скорость рендеринга увеличилась на 100%. Мы используем гем sht_rails, который, кажется, хорошо закодирован и просто передаем рендеринг шаблона в v8/execjs/rubyracer. После запуска в эксплуатацию наш GC увеличил тонну, и мы попробовали различные стратегии кеширования, чтобы облегчить проблему, но это не сработает для нас, и мы собираемся отказаться от идеи общих шаблонов руля, хотя преимущества были велики от точка зрения SEO / общего кода.
Если не считать ruby ee, есть ли что-нибудь еще, что мы можем сделать, чтобы точно настроить / ускорить этот процесс? Или это просто природа зверя, передающего строки в сериализацию / десериализацию javascript и так далее.
Из нашего опыта кажется, что этот рендеринг на стороне сервера не готов к производственному рендерингу. У кого-нибудь есть опыт с этим?
1 ответ
В итоге мы создали сервис рендеринга узлов и передали ему рендеринг шаблона вместо использования ruby racer на основе rails и т. Д. На данный момент мы решили нашу проблему. В конце было бы неплохо использовать полный стек узлов, чтобы получить лучшую изоморфную поддержку, но мы являемся магазином рельсов, так что это то, где мы находимся.