While the website itself is considerably faster now we should still optimize the hosting. I don't know how much better this currently is in US as compared to Europe but it's still a good choice if we expect more upcoming traffic.
The easiest options are Incapsula or CloudFlare.
Setting them up requires very little effort.
Both services do not host any files, they act as caching layer in front of the actual host. This works by redirecting the DNS entry for the domain.
Both offer free plans.
CloudFlare requires you to use their DNS server for the whole domain.
Incapsula works with a CNAME redirect.
I had some issues with CloudFlare (images not delivered).
I've setup a dlang mirror that uses Incapsula on http://dlang.dawg.eu.http://www.incapsula.comhttp://forum.dlang.org/post/[email protected]
Comment #1 by greeenify — 2016-03-30T06:05:11Z
I can only recommend CloudFare and for such an high-traffic site like dlang.org to use a CDN. I had good experiences with CloudFare in the past.
Bumping this as it can be done in ten minutes and adds a huge value to visitors.
Comment #2 by code — 2016-12-11T20:17:16Z
Caches come with their own problems and they often block for
longer times with 5xx screens, for even smallest backend hickups. So my
experience is that they easily worsen reachability if you're already
having a few issues.
Comment #3 by code — 2016-12-11T20:20:11Z
We could easily do the experiment though, if we know how to objectively monitor the problems/performance.
Reachability should be the most important metric, followed by search ranking, and website speed.
For an opionion I'd hope to draw a bit on Vladimir's vast experience for this (CC).
Comment #4 by dlang-bugzilla — 2016-12-11T21:54:34Z
(In reply to Martin Nowak from comment #3)
> For an opionion I'd hope to draw a bit on Vladimir's vast experience for
> this (CC).
Hmm, I wouldn't really say my experience is that vast...
As a webmaster, I do have a website with a lot of hits behind CloudFlare's free plan. I haven't encountered any issues with it, and it pretty much works as advertised.
As a user, CloudFlare hasn't been very nice. While I still used the Opera 12 browser, I would get hit by CloudFlare CAPTCHAs very regularly. Apparently I was being "punished" for having an unusual user-agent. For this reason, I have set CloudFlare's protection setting to "essentially none" on my websites, with no noticeable negative effect.
I think we should consider using a CDN when we actually start feeling that we need to. As far as I know our uptime and response time has been pretty good, and we don't host a lot of assets (large images or such) that would benefit a lot from a CDN. When we do need to, and should we pick CloudFlare, I recommend to also set the protection level to the minimum, as we have no dynamic content to protect and as such the user frustration from false positives is not worth it.
FWIW, it's worth considering that the reason why CloudFlare's free plan is profitable is likely because it grants them a ton of analytics into users' browsing habits, so if user privacy is of any consideration that would be one downside.
Comment #5 by greeenify — 2016-12-11T22:15:00Z
Adding some thoughts of mine to the discussion:
> As a user, CloudFlare hasn't been very nice. While I still used the Opera 12 browser, I would get hit by CloudFlare CAPTCHAs very regularly. Apparently I was being "punished" for having an unusual user-agent. For this reason, I have set CloudFlare's protection setting to "essentially none" on my websites, with no noticeable negative effect.
Yep I have experienced this as well :/
> I think we should consider using a CDN when we actually start feeling that we need to. As far as I know our uptime and response time has been pretty good, and we don't host a lot of assets (large images or such) that would benefit a lot from a CDN.
We have quite some troubles with it on Travis in terms of reliability and I think our "fast" pageload could even improved ;-)
In fact if one looks at these page checkers, e.g.
https://tools.pingdom.com/#!/RHG4Q/dlang.orghttps://gtmetrix.com/reports/dlang.org/5AUbSaw8https://developers.google.com/speed/pagespeed/insights/?url=dlang.org
There are a couple of other things one could do, e.g:
- leverage browser caching
- optimize images
- serve scaled images
- enable compression
- minify CSS & javascript
> When we do need to, and should we pick CloudFlare, I recommend to also set the protection level to the minimum, as we have no dynamic content to protect and as such the user frustration from false positives is not worth it.
Speaking of no dynamic content: as we have nearly no dynamic content, we could also think about using S3, GitHub Pages (free) or similar for dlang.org.
AFAIK GitHub Pages also come with a CDN.
> FWIW, it's worth considering that the reason why CloudFlare's free plan is profitable is likely because it grants them a ton of analytics into users' browsing habits, so if user privacy is of any consideration that would be one downside.
There's also the Amazon CloudFront CDN (and others), but one needs to pay per traffic and IIRC it isn't that cheap.