Static site generators and everything else are lovely and all, but it's hard to beat Wordpress when it comes to being able to just plug in a new feature. Which, of course, also gives some folks the rope they need to hang themselves. As other folks have pointed out, there could be a plugin issue.
But my guess is it's the hosting provider. They can have professional-sounding support but still be running an architecture that hasn't been updated very much in the last 5+ years. mpm-event and php-fpm alone really changed the performance characteristics for bog-standard LAMP hosting.
The error logs should give a number if memory's exhausted. I bet it's super low, because a lot of shared hosting providers still try to cram as many sites as they can onto a beleaguered colo'd box. At a glance, that does look like the csoft.net architecture (they have "Two Dedicated, Redundant Servers (with Private Gigabit LAN)").
There's certainly a broader point to be made about the gross, inexorable bloat of web-based applications, but there are also plenty of people running even more bloated, busy stuff for less money with less trouble.
Oh, and you can install the traditional editor for Wordpress, they've made it available as a free plugin and it works just fine.
There are plenty of people around who can sort out stuff like this. I'm one of them, but I'm heading to bed. Email's in my profile, or just accept help from anybody else that knows what they're doing.
You can then push the content to something Amazon's s3 and put cloudfront in front to speed things up.
You'll have to then offload the comments to a service but that is relatively easy and cheap. A service like discus is only $9 a month. Moving to s3 you'll save that in hosting. (I run two sites like this and pay $0.07 on average per month). Not to mention those services are pretty good at filtering spam.
There are some other options around too. https://darekkay.com/blog/static-site-comments/
Wordpress is nice but it will never out perform static content.
EDIT: I just read this in discus
For small, personal, non-commercial sites who do not run any ads. This plan includes everything in Plus except Direct Email Support."
There is absolutely no justification for him to be running into these sort of issues at such an incredibly low load. Let's pretend he gets 50,000 hits per day (he says 50k per month but I don't know reqs/sec). Than's less than one per second. The $5/mo box over at DigitalOcean can handle 100 times that with the most poorly optimized PHP, Wordpress, and MySQL installation.
The problem is entirely due to a shitty host and/or grossly misconfigured server. No CMS should run into load issues at the microscopic traffic levels he's complaining about. He doesn't need Cloudflare, either.
So, yes, a static site would indeed perform better but to imply that he's actually reaching the limits of a simple CMS is absolutely ridiculous.
Yet he is running into these issues. Is it a buggy plugin or a configuration issue?probably, yes.
But that's exactly the problem static sites solve. I don't mean to say he's out grown it as in you can't serve Wordpress at the volume he's currently getting. I mean you have to have everything setup correctly to do so.One option would be to learn the workings of Wordpress and maybe the web server hosting this. If that's what he wants to do with his time great. I suspect he may have other interests, if that's the case static hosting would be a good alternative. It might not be the best, but it's the best I know.
I’m guessing your Wordpress install has a bad theme or plugin that is writing errors to the request body and then attempting to send the remaining HTTP headers.
I suspect you are very good at what you do. A lot of people are not so good at maintaining an operating site. Especially not a top 100 level.
That said it's a trade off. For every advantage there is a disadvantage. Having to compile to push changes is not without it's headaches. Using external services for comments and other things can run you into all sorts of cors hell.
This is ridiculous.
If he had 100 times the traffic he has, he still wouldn't be anywhere near "outgrowing" Wordpress.
> put cloudfront in front to speed things up.
He already has Cloudfront, and it is completely meaningless snake oil in his situation.
p.s make sure to update to php 7+. The speed difference was very noticeable when I upgraded
If you need help managing/setting it up, I can do it for $15 a month + DO cost - or AWS/Google/Azure.
I'll manage your stack, depending on time to migrate, there might be like $50-100 for migration.
I'm looking to start a WP management service, and hosting company -- mainly to get some MRR during my slow months.
I'm currently a Full stack laravel/vue/react freelancer.
For reference, I ran a political blog during 2016 w/ 100k hits an hour for a few weeks (traffic died down a ton), but my site wasn't functional at all on shared hosting.
After easy engine on DO's lowest tier, everything just worked. Nginx + redis cache is amazing.
Just drop me an email : patrick @ zvive.com -- linkedin: https://linkedin.com/in/patrickcurl
It's 'SaaS' in that the actual app will have easy subscription plans, analytics, single/teams, etc...
I was working on my own SaaS and realized other than some potential code examples from dead github repo's and Laravel's Spark, there isn't much on the market or github -- even in other frameworks like express or rails that covers this niche.
Definitely nothing open source, I'm hoping to get some sponsors early on to offset some of the costs of development till I get other streams of revenue...
I got off on a tangent lol, but I don't think $15/month + $99 migration is super sustainable...esp if I scale, but it would be nice to have even $1000/month just on autopilot via hosting.
Plus you can upsell stuff. I've got a brother who's a stock boy (he's 28, I'm almost 40), who graduated with a Bachelor's in Digital Design, I could probably kick him in the ass w/ some motivation and teach him to manage everything and maybe get him to work in his actual career field for once...He'd work for min wage right now just to get some beef on his resume.
v4 creates one network per site. Then v4 also needs few Docker networks for global services. So roughly we limit the number of sites to 27."
I'm also wondering what all those docker instances do to performance, seems to me there might be a better way.
My guess is a plug-in or theme is bugging out here. Easy solution is to remove all and slowly add until the problem exists again.
In 2015 I had “Crayon Syntax Highlighter was Killing my WordPress” for instance:
First, let CloudFlare do 99% of the work. Don't worry about optimizing the linux box, PHP, MySQL, PHP Opcode Cache, WP-Cache at first.
Now, here is where you can really make things fly. It is possible to have CloudFlare cache the result of generated html pages, so requests don't even hit your shared hosting provider. This is done with Page Rules. The trick is going to be crafting a rule that you can match posts and posts only. With my site, I leave .html extension on my files, so my rule is simply:
Your challenge will be creating a matching rule while excluding admin backend pages. Also, most certainly you probably going to want a much lower cache time than 8 hours. My site content does not change often. Perhaps something like 30 or 60 minutes to start.
Good luck, let me know any questions, my contact info is in my profile.
> What am I missing? How can I be in so much trouble in 2019 with such a relatively modest task?
Something is not quite right with our web-platform when we have these sorts of problems, and the solutions also require quite a bit of sophistication.
As an experiment, I recently switched my http://objective.st site to run on Objective-Smalltalk itself on a Digital Ocean $5/month droplet (their smallest). Surprisingly made it to the HN front-page and didn't hiccup, despite an egregious memory leak on my part (fixed now).
This was reported as "blazing fast", despite being a single binary hosted in Frankfurt, having no CDN support and no static files, with everything served from the embedded web-server. Heck, I haven't even hooked up gzip-compression
I don't log much, so I don't really know how much traffic it's getting. I do know that hitting it with wrk remotely I got around 1000 requests/s, locally on the same box it was around 8K. So I think there's plenty of headroom. Oh, and the logs do show continuous attempts to break in POSTing to what I presume are php vulnerabilities.
I am emphatically not saying I did something amazing or even particularly good, everything was somewhere between straightforward and egregiously simple-minded, and there were other (mostly easy) ways of accomplishing the same thing. Previously the same site was served using static files running the same code as a static site generator.
However, it does confirm my suspicion that we've path-depended ourselves into a corner.
Some shared hosting shouldnt run into trouble.
Since moving my blog to SquareSpace, I've never had that issue. In years. Note: Not an advert and not an affiliate for SS, just a happy user.
We still have a WP blog on a VPS for our SaaS, but I am keen to move that over to another platform, because I have enough on my plate to develop code for my SaaS itself. For my blog, I just want to post my thoughts without having to wade through a WordPress Admin console and see dozens of flags, warnings and popups about a myriad of plugins that need attention. Seriously - our WP admin console causes a lot of stress just logging in, which sucks all the creativity out of me.
SquareSpace (and even Medium, for all the negativity surrounding it) makes it so easy to start with a blank slate and just write and let the ideas flow.
The downside is that your Wordpress installation will not see the requests served from cache, which means so if you rely on a Wordpress plugin for statistics and/or analytics the data will not be correct.
@OP - If you're interested, drop me an email on email@example.com and I'll set you up with a 2 month free trial on our Pro service where you can deploy a new instance in a few seconds and kick the tires. No obligation.
* look at an actual server access log. cPanel offers one if your host is offering cPanel.
* try and increase your WordPress memory limit: https://docs.woocommerce.com/document/increasing-the-wordpre...
* check your server's PHP error log and see if there is an error
* set WP_DEBUG to true in wp_config.php
Personally I would either start looking for fully managed WP service (wordpress.com), or switching to a different, easier to host, platform
Having a company that deals with your Wordpress installation is only beneficial if they get it right.
An easier/quicker solution is to just stick a cdn in front, that way you can cache pages and still have to back-end work.
A quick Google search on the error he's getting says it's an Apache error either from invalid file permissions or running out of memory. His provider refuses to transparently increase memory so the hypothesis seems stronger here. Now just test it by spinning up a simple load balancer, clone your website on a different server, split the traffic 50/50, and see if the errors continue. Repeat this process until you've isolated the issue. Trying to solve the problem by adding a cache layer isn't going to help before the problem is understood.
“His research is focused on software performance and indexing.”
I think it’s just a poor advertising. :)
"Many applications use sequences of n consecutive symbols (n-grams). Hashing these n-grams can be a performance bottleneck. For more speed, recursive hash families compute hash values by updating previous values. We prove that recursive hash families cannot be more than pairwise independent. While hashing by irreducible polynomials is pairwise independent, our implementations either run in time O(n) or use an exponential amount of memory. As a more scalable alternative, we make hashing by cyclic polynomials pairwise independent by ignoring n-1 bits. Experimentally, we show that hashing by cyclic polynomials is is twice as fast as hashing by irreducible polynomials. We also show that randomized Karp-Rabin hash families are not pairwise independent."
I think he is working on the fundamental science of computer science. People like him are the reason we have nice things like web servers. That doesn't mean they know the specifics of Apache or Wordpres.
tl;dr I get the feeling that this person has been sold the idea that throwing money at things will help (why is he using argo for a smallish blog, it's not worth the money?)
Some of the less known issues I found that can add to this problem:
Brute Force Login Attempts
Hidden Hacked Pages
Helps to look at logs sometimes, if you get hit with all three of the above at the same time, it's a tricky mess to clean.
You may find relief making an aggressive noindex robots.txt file (there are tons of bots to block which are worthless and use up your resources. - it may be best to say * disallow all, then specifically allow google, bing, etc (would love to find a way to tell archive.org it's okay in that situation))
Even when doing the robots block, I've found some aggressive spiders or bots that use some of their user agents need to be blocked via ip subnets and cidrs with htacess for example.
Brute force login has many options for slowing down access. I love a combo of ipgeo block, sucuri, graphic captcha, shield security
plugin for disable xml-rpc or use the setting for such with the shield security plugin (this blocks massive login attempts) to block all xml-rpc use.
Hidden Hacked Pages
If you find bots spidering a bunch of product pages for things in other countries in your logs for example, you may have been hit with a bunch of pages being created that you may not see on your may front end, or even in the backend admin area of your site.
Removing those pages is a start, and then a plugin like 404 to 301 redirect may be beneficial - but you will likely find a bunch of bots coming to index them, and other hackers who have been sold access to your site trying to login and make more of them.
For me it was more log checks and looking up ips to add to the server block lists to slow it down. Just make sure you don't add google's or bing's ips to the list.
With a few sites I had that got some of these issues I decided to pull down wp-login.php - and in an effort to lighten up the load on the shared server, I decided to use one of the plugins that make wordpress into a static site (there are two good ones in the repo now)
Once I generated the static html and css, I created a new wp-login.php that would log all ips and user agents / date to a separate text file, and display a message on the screen warning the visitor hacker that I was casting a spell on those who access the login page.
The amount of bots trying to login, and trying to access the old hacker-created-pages that were made over a year ago is still crazy. Their bots are still coming and trying the same login page and trying to access the same pages that have been removed over a year ago.
If I had left those pages available as php pages, each one of those visits would of been taxing my sql, even if they were showing the wp 404 page, or failed login.
I hope your issue is simpler, like a bad plugin. Certainly I've run into that issue with other problems not related to these as well.
https://www.getshifter.io/ seems to be a relatively turnkey solution for existing Wordpress sites to migrate to serverless hosting. It spins up a Wordpress docker image when somebody is in the admin panel, then builds and deploys a new static site to S3 when a change is made. Each build is immutable and easy to switch between.
There are limitations with static site hosting. Their approach to comments is: Use Disqus.