Accepted Solutions (1)

Accepted Solutions (1)

Vish_dhaliwal

Employee

12-04-2019

Hello,

There are no plans on supporting AEM Dispatcher on Nginx. But you can use Nginx in front of the Dispatcher as an additional caching layer.

Regards,

Vishu

Answers (4)

Answers (4)

jkpanera

12-04-2019

Well, let me give you some motivation. Nginx is an all around superior product to Apache.

In the context of AEM, it has particular advantages.

(Please correct me if I am wrong about any of this.)

The way Apache works is that when a thread handles a request, it blocks on submitting the request to publish. Not a big deal when load is low and publish responds quickly. However, when load gets high and publish responds slowly or not at all, these blocking threads keep Apache from responding at al.

Nginx uses a task queue that frees up threads rather than blocking waiting for a response.

https://www.nginx.com/blog/thread-pools-boost-performance-9x/

This would give AEM an extra level of resiliency where dispatcher could serve pre-cached content even when publish is under heavy load.

jdd-1958

17-12-2019

Hi,

I agree with this requests, but not only for the purposes described above, but also because development on both Apache and Dispatcher has slowed (e.g. where is the new dispatcher plugin for Windows?).

 

Nginx is a superior solution and wins over Apache in most studies:

https://serverguy.com/comparison/apache-vs-nginx/

https://www.nginx.com/blog/nginx-vs-apache-our-view/

https://www.plesk.com/blog/various/nginx-vs-apache-which-is-the-best-web-server/

https://www.hostingadvice.com/how-to/nginx-vs-apache/

 

All that being said, we also use Varnish, which is largely ignored as a solution to AEM performance issues. Along with a lot of other advantages, Varnish offers ESI, which is not available on Apache or CloudFront...

 

Seems like visiting modern day technologies might be helpful. I hope you can share a road map for how Adobe plans (if they do) to address these items.

 

David

jkpanera

12-04-2019

I believe that there was a formal request to develop a dispatcher module for Nginx. What happened? Why did you guys decide not to implement it?