Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!


Easyengine vs Trellis vs DebOps - HTTPS caching.
New on LowEndTalk? Please Register and read our Community Rules.

All new Registrations are manually reviewed and approved, so a short delay after registration may occur before your account becomes active.

Easyengine vs Trellis vs DebOps - HTTPS caching.

I was wondering which of these can cache https requests guys and if some of you already implemented such a live environment. At this time, i run a 'nude' php5-fpm,nginx website in which varnish performs great on caching but i will move this to https (SSL) so i was wondering if it could be better to use an SSL termination proxy method on my current setup, or go with an automated installation with one of these scripts, since they offer great features (HHVM, PHP7 auto setup etc).

Website runs on WordPress.

Comments

  • I use PHP7+nginx + cache enabler plugin, it's support http2 and easy to purge.

  • @hiphiphip0 said:
    I use PHP7+nginx + cache enabler plugin, it's support http2 and easy to purge.

    What about caching of HTTPS ?

  • punkstar69 said: What about caching of HTTPS ?

    What is HTTPS?

  • @khuongcomputer said:

    punkstar69 said: What about caching of HTTPS ?

    What is HTTPS?

    You are posting a reply, not a question. If you want to post a question, open a new thread. If you want to reply on a question make sure that you use no question mark and that you fully understood the question.

  • I believe all three of them support caching with HTTPS. I'll give you some details on each, but you might need to do a bit more digging. :)

    DebOps uses a SSL termination proxy and it's the only one to use one. That's the only way to support Varnish with SSL. Varnish caches the HTML. nginx takes care of the rest. You need to fake HTTPS requests so that WordPress behaves correctly, but that's all handled for you.

    EasyEngine is the one I'm less sure about. They already support HTTP/2 and Let's Encrypt so I'm sure there are some caching options available. I don't think they do a SSL termination proxy. They don't really need one with their available configuration options. You'd have to use a plugin or some other option like the Redis page cache.

    Trellis supports HTTPS and caching. They don't have a SSL termination proxy because they don't need one either. Trellis uses nginx microcaching for page caching so it's nginx that handles SSL termination and caching inside the same vhost.

    Hope that helps :D

  • @carlalexander said:
    I believe all three of them support caching with HTTPS. I'll give you some details on each, but you might need to do a bit more digging. :)

    DebOps uses a SSL termination proxy and it's the only one to use one. That's the only way to support Varnish with SSL. Varnish caches the HTML. nginx takes care of the rest. You need to fake HTTPS requests so that WordPress behaves correctly, but that's all handled for you.

    EasyEngine is the one I'm less sure about. They already support HTTP/2 and Let's Encrypt so I'm sure there are some caching options available. I don't think they do a SSL termination proxy. They don't really need one with their available configuration options. You'd have to use a plugin or some other option like the Redis page cache.

    Trellis supports HTTPS and caching. They don't have a SSL termination proxy because they don't need one either. Trellis uses nginx microcaching for page caching so it's nginx that handles SSL termination and caching inside the same vhost.

    Hope that helps :D

    Awesome and detailed reply.

    From your experience - and focusing on performance - which do you believe that the faster method to deliver a WordPress pageview as fast as possible?

  • NekkiNekki Veteran

    punkstar69 said: You are posting a reply, not a question. If you want to post a question, open a new thread. If you want to reply on a question make sure that you use no question mark and that you fully understood the question.

    I lol'ed

  • carlalexandercarlalexander Member
    edited May 2016

    @punkstar69 said:
    Awesome and detailed reply.

    From your experience - and focusing on performance - which do you believe that the faster method to deliver a WordPress pageview as fast as possible?

    Delicious brain did a comparison of Varnish vs nginx page cache:
    https://deliciousbrains.com/page-caching-varnish-vs-nginx-fastcgi-cache/

    They found nginx to be superior. I have my doubts since he just used the stock defaults for Varnish. I think that affected his results. But, to be fair, I find benchmarks are tricky in general so I don't put full weight on them.

    That said, I think performance wise they're both very close. The difference between nginx and Varnish is complexity.

    The nginx page caching stack is a lot simpler. You don't need a proxy to handle SSL termination. It's all in the same vhost. You just a few extra options for caching configuration.

    Meanwhile, Varnish is another appliance that needs to be tuned and configured. It needs an SSL termination proxy. You also don't need to configure and tune an entire other appliance.

    It's a legitimate complaint to say that it's unnecessary. You can do pretty much the same thing with nginx page caching. But nginx caching is pretty much all or nothing. It isn't granular at all.

    That's why I like Varnish. It comes with a lot of powerful tools. I like the configuration language and the power it brings. Caching in practice isn't a binary scenario. It's hard.

    Your clients will have special things that will require different rules. Everyone has different needs in practice. I'd rather have the most flexible option. It's just that a lot of it isn't well documented. I'll probably write more about it in the future. :)

    I hope this helped! I know I'm more biased towards Varnish. That said, I hope I showed a balanced picture. Both are fine. Depends on your needs.

    Thanked by 2vimalware bersy
  • punkstar69punkstar69 Member
    edited May 2016

    @carlalexander said:

    @punkstar69 said:
    Awesome and detailed reply.

    From your experience - and focusing on performance - which do you believe that the faster method to deliver a WordPress pageview as fast as possible?

    Delicious brain did a comparison of Varnish vs nginx page cache:
    https://deliciousbrains.com/page-caching-varnish-vs-nginx-fastcgi-cache/

    They found nginx to be superior. I have my doubts since he just used the stock defaults for Varnish. I think that affected his results. But, to be fair, I find benchmarks are tricky in general so I don't put full weight on them.

    That said, I think performance wise they're both very close. The difference between nginx and Varnish is complexity.

    The nginx page caching stack is a lot simpler. You don't need a proxy to handle SSL termination. It's all in the same vhost. You just a few extra options for caching configuration.

    Meanwhile, Varnish is another appliance that needs to be tuned and configured. It needs an SSL termination proxy. You also don't need to configure and tune an entire other appliance.

    It's a legitimate complaint to say that it's unnecessary. You can do pretty much the same thing with nginx page caching. But nginx caching is pretty much all or nothing. It isn't granular at all.

    That's why I like Varnish. It comes with a lot of powerful tools. I like the configuration language and the power it brings. Caching in practice isn't a binary scenario. It's hard.

    Your clients will have special things that will require different rules. Everyone has different needs in practice. I'd rather have the most flexible option. It's just that a lot of it isn't well documented. I'll probably write more about it in the future. :)

    I hope this helped! I know I'm more biased towards Varnish. That said, I hope I showed a balanced picture. Both are fine. Depends on your needs.

    Thanks for the reply & for the comparison review link.
    I've used tuxlite for my own WordPress installations and found non-varnish setups to be fast but not blazing-fast. If Varnish is enabled, they perform really blazing-fast.
    Tunning the website's DOM for less requests, minifying, moving javascripts to the bottom etc, gives me a really good loading time with Varnish, the one that I expected, and loading times of my WP installations seem like those of static HTML pages.

    My concern is all about performance like this so I was wondering if theres any room for improovement on this setup.

    Im using nginx, php5-fpm, mysql & varnish.
    Based on your experience, would something like nginx, php5-fpm as a failback with HHVM in front of it, mariadb & varnish offer a dramatic improvement of performance and loading times?

  • carlalexandercarlalexander Member
    edited May 2016

    I'd probably always have php5-fpm as a fallback. The question becomes HHVM vs PHP7. They're both fine. Both HHVM and PHP7 offer drastic improvements in terms of PHP processing speed vs PHP5.

    I'm using HHVM right now. I'm probably going to move away from HHVM once the first point release of Xenial is out. PHP7 is standard on it. If you're installing things yourself, PHP7 is probably the better choice.

    The perfomance question is about your context at this point. How much logged-in traffic do you have? You're going to hit PHP if someone is logged in so Varnish or nginx won't give you too much mileage. If you're not getting that much traffic, the cache will always be stale (default cache time is 120s for HTML with Varnish) and you'll always hit PHP. In all those case, upgrading PHP is what will bring you the most benefit.

    I'm assuming you might have read it already (and that's where this question comes from), but I explain all these interaction in this article:
    https://carlalexander.ca/modern-wordpress-server-stack/

  • @carlalexander said:
    I'd probably always have php5-fpm as a fallback. The question becomes HHVM vs PHP7. They're both fine. Both HHVM and PHP7 offer drastic improvements in terms of PHP5 processing speed.

    I'm using HHVM right now. I'm probably going to move away from HHVM once the first point release of Xenial is out. PHP7 is standard on it. If you're installing things yourself, PHP7 is probably the better choice.

    The perfomance question is about your context at this point. How much logged-in traffic do you have? You're going to hit PHP if someone is logged in so Varnish or nginx won't give you too much mileage. If you're not getting that much traffic, the cache will always be stale (default cache time is 120s for HTML with Varnish) and you'll always hit PHP. In all those case, upgrading PHP is what will bring you the most benefit.

    I'm assuming you might have read it already (and that's where this question comes from), but I explain all these interaction in this article:
    https://carlalexander.ca/modern-wordpress-server-stack/

    Exactly. Your article was the one that made start thinking of upgrading :)

    Im not talking about high traffic websites, yes. A couple users per minute are accessing the webpage. I understand that I nearly use cache. What i've done so far, is to set Varnish to expire its contents only after manual prompt by the administrator. Im about to also run my php instances as static instead of dynamic or even use an html version of homepage in order to improove user experience through loading time.

    We do post things once or twice a month also. I just try to make my WP installations as static as possible. I really need the dynamic part of the cms, just twice a month.

    When it comes to heavy loads, im assuming that once i find a pretty good combo that performs fine in loading, I could use this by adding a good caching solution.

  • carlalexandercarlalexander Member
    edited May 2016

    Right, I think you have the right idea then! I have a client where they didn't want the 120s default. Instead, we cache for an hour. You could probably put it 12h or something and it would be pretty static :)

    You can find the option to change here:
    https://github.com/carlalexander/debops-wordpress/blob/aad0038125fbc62969cf0875933193e80a3e6f8c/roles/varnish/templates/etc/default/varnish.j2#L13

  • @carlalexander said:
    Right, I think you have the right idea then! I have a client where they didn't want the 120s default. Instead, we cache for an hour. You could probably put it 12h or something and it would be pretty static :)

    You can find the option to change here:
    https://github.com/carlalexander/debops-wordpress/blob/aad0038125fbc62969cf0875933193e80a3e6f8c/roles/varnish/templates/etc/default/varnish.j2#L13

    Thanks for your responses Carl. I know that you are busy and I appreciate your prompt replies on my questions.
    Im gonna directly give DebOps a try for my new project. There wont be any test periods or something, since I've already read great and many feedback posts from satisfied users.

  • Always happy to help! Someone pointed me to the thread. I wouldn't have found it otherwise lol

  • punkstar69punkstar69 Member
    edited May 2016

    @carlalexander said:
    Always happy to help! Someone pointed me to the thread. I wouldn't have found it otherwise lol

    Bookmarking https://www.lowendtalk.com/search?Search=debops on your browser, will help for sure. People are insane. They do not use contact forms - they prefer communities like this for their questions < lol

  • JarryJarry Member

    @carlalexander said:

    DebOps uses a SSL termination proxy and it's the only one to use one. That's the only way to support Varnish with SSL. Varnish caches the HTML. nginx takes care of the rest. You need to fake HTTPS requests so that WordPress behaves correctly, but that's all handled for you.

    There are two versions of Varnish proxy: Varnish-Plus (commercial), and Varnish-cache (free, open-source). Varnish-Plus supports TLS/SSL natively. Varnish-cache can support TLS/SSL either with some sort of external https-termination proxy (pound, nginx, etc), or using addon "hitch" (developed by the Varnish team)...

  • sonicsonic Veteran

    offtopic: which is better, easyengine and Trellis?

  • carlalexander said:

    It's a legitimate complaint to say that it's unnecessary. You can do pretty much the same thing with nginx page caching. But nginx caching is pretty much all or nothing. It isn't granular at all.

    Can you explain this? With nginx you can set a variable based on things like query strings in the URL, cookies sent by the browser, the page requested and so on and based on that variable the cache is bypassed. So it is possible to turn off caching for specific purposes using nginx.

    carlalexander said: You could probably put it 12h or something and it would be pretty static :)

    Note if you are going to cache WP pages for long periods of time be sure to increase the lifespan of WP nonces. Otherwise people won't be able to submit forms like WP comment forms.

  • FritzFritz Veteran

    @carlalexander

    So in terms of simplicity and ease of use, what would you recommend?

    If I choose Easyengine, for example, which settings might suit the best for moderate site?

Sign In or Register to comment.