3

I recently purchased a premium WordPres plugin called Hide my WP. I planned on using this plugin for my nonprofit organization's website, which is a multisite WordPress installation with an SSL.

Upon implementing it, page load times went from 4-6 seconds (already pretty bad, but I have a lot of content) to anywhere from 30-60 minutes.

I should add that 95% of the page load times deals with the server response time (you'd see "waiting for nationalcdp.org" in the lower-left when using Firefox); there must be bottlenecks in there, but I can't figure it out. Once the browser connects to nationalcdp.org, the actual pages load quite quickly.

Initially, the BlueHost techs blamed me that my sites weren't optimized. But they are optimized for speed ... they get good grades on gtmetrix, pingdom, page speed insights, and others. All caching mechanisms are in place, images are losslessly compressed, javascripts are deferred, html and css are minified, etc. etc.

I explained that while I'm not knowledgeable with servers, I'm quite familiar on how to speed up page load times, especially when it comes to WordPress and SEO / speed optimization.

I'm using a VPS from BlueHost, and the details of my VPS are:

  • Had 2 cores (I just bought 2 more)
  • 30 GB SAN storage
  • 1 Terabyte of bandwidth

To solve the issue of the page load times, techs at BlueHost suggested I purchase 2 additional cores. I did just that, for $112 / 6 months.

This didn't help, however, and page load times were still 30-60 seconds. BlueHost techs said it was because I had "too many php running processes".

The tech said, "specifically, I'm looking at one process that has been open for 10 minutes now, and that shouldn't happen".

But plenty of others have used this plugin with little to no effect on page load times.

I might add that the BlueHost techs told me I was running at about 4.0-5.0 "server load" (I didn't understand what they were talking about), when ideally, you want to run at about .7 to 1.0 at most, and referenced me to review this article on server load. So that leaves me with these questions for the server experts (you, if you're reading this and kind enough to proffer a reply):

  1. Did I do the right thing in purchasing the 2 extra cores?
  2. Should I ask for a refund?
  3. Should I ask for something else, like more Terabytes of bandwidth? More than the 30GB of SAN storage I currently have on my Linux?
  4. Should I just wait until I have exhausted this billing cycle, which ends in September, and go with another host?

I'm currently paying $30/month for this VPS -- and then an extra $18/month for the two additional cores.

Thank you for any guidance anybody can offer!

Update: Thank you for everyone who took the time to read this question and answer. Unfortunately, BlueHost has had one of their infamous blackouts that occur monthly since they were acquired by Endurance International Group (EIG) in August 2014. So I'm unable to tinker with any of the solutions posed, as I have no websites, no FTP, no e-mail, and no cPanel access.

Jason Weber
  • 163
  • 2
  • 8
  • 1
    your site may be lagging due to other things like swap space thrashing or disk i/o waiting/contention. too many processes can cause many problems. – Skaperen Apr 26 '15 at 23:25
  • 4
    Your homepage is a complete monster. 634527 bytes, the vast majority of which seems to be autogenerated and minified CSS. Have you got a misbehaving plugin somewhere? – Michael Hampton Apr 26 '15 at 23:26
  • 1
    try another hosting provider **now** so you can find one that suits your needs ... if your app is doable. – Skaperen Apr 26 '15 at 23:27
  • 1
    Do you have some monitoring system in place to get some more insight? There are several third-party, free up to some level, simple to configure services in the market. They can tell you what your processes are spending time on. If not rendering or accessing a DB, it may be some IO, etc. – Eric Platon Apr 26 '15 at 23:52
  • Thanks Michael. I know it looks like a mess, and everything is minified. But it's mostly the server response time. The actual page loads quickly, and gets good grades. Yes, because there is a lot of content on the front page, the size of the page (2.6 MB) isn't ideal, but the server requests (68) isn't extraordinary. I still think it's all about the server response time (2-3 seconds, which, if eliminated, would put my page load times right around 2.5-3 seconds). – Jason Weber Apr 27 '15 at 04:26
  • Thank you for taking the time to respond, Eric. I do not know if I have any 3rd party services in place, but I will google around and see if I can find one. I wouldn't doubt it if WordPress had a plugin for that. I'll get back and rephrase the question if I can glean more information. Thanks again! – Jason Weber Apr 27 '15 at 04:28

4 Answers4

7

You might know what a core is from shopping for desktops and laptops. It's the CPU, the processor, the bit that does the work. Here's a wikipedia link that might help.

I plugged your site into this tool and most of the complaints were CSS and javascript that had to fully download before your site could fully render. Of course, I imagine we're viewing the site without the Hide My WP plugin, given the performance hit you noticed.

We don't really have enough information to tune your server for you, but the plugin in question says it's an IDS written in PHP that wraps your site. That would probably generate a lot of overhead:

Technically, it monitors all of requests of the site and assign a number (i.e. Impact Factor) to each request base on tens security checks. Impact factor indicates how much dangerous is that request. Should it be blocked? Should site admin be notified about it or we should just log it for future validity check. It’s useful against almost any type of attacks, any vulnerable plugin or theme! It may takes some time to trade off configuration in order to minimize false positives.

It also promises that you can safely install unsafe plugins. Hm. This is my skeptical face.

As to your actual questions:

  1. Did I do the right thing in purchasing the 2 extra cores?

Did it help? (I know it doesn't sound like it, but I didn't see the site before you bought them.)

  1. Should I ask for a refund?

Maybe? That depends on the answer to #1.

  1. Should I ask for something else, like more Terabytes of bandwidth? More than the 30GB of SAN storage I currently have on my Linux?

No. Nor should you buy more cores. I recommend not throwing any more money at running your $22 plugin. If it was some kind of business critical thing, maybe, but this is a $22 plugin that's making claims that leave me skeptical, and may just be too "heavy" for your particular site and your VPS. There are lighter and free plugins that... well, that aren't an IDS system written in PHP but will help security, if that's what you're after.

Instead, I'd try disabling plugins one at a time and see how that affects load time. You might be able to replace a slow plugin with another that offers the same functionality with less impact.

  1. Should I just wait until I have exhausted this billing cycle, which ends in September, and go with another host?

I don't feel like I can answer that based on the information provided. I have a friend who uses them and is perfectly happy, but her site isn't particularly processor-intensive.

Katherine Villyard
  • 18,550
  • 4
  • 37
  • 59
  • 3
    "PHP IDS" ...Isn't that phrase the first sign of the apocalypse? – Parthian Shot Apr 27 '15 at 00:43
  • 1
    Thank you Katherine! I'm still digesting your answer, but I will say, regarding Page Speed Insights, a main thing it complains about is the server response time: "In our test, your server responded in 2.2 seconds. There are many factors that can slow down your server response time. Please read our recommendations to learn how you can monitor and measure where your server is spending the most time." ................... thank you again! Will comment more after I fully comprehend your response. – Jason Weber Apr 27 '15 at 04:23
  • 1
    Yeah, something may be up on the web host itself, but don't just throw money at it blindly. Your site is not exactly like anyone else's. Like Michael, I suspect that one of your plugins may be misbehaving, but I don't have the information to say that definitively. I suspect the issue with the Hide My WP plugin is partly the 68 requests on the homepage you mentioned in a comment above--it's checking each and every one of those 68 requests for something suspicious. So if you add X amount of overhead times 68... – Katherine Villyard Apr 27 '15 at 14:34
  • Thanks Katherine. I am not ignoring your answer whatsoever. It's just that, coincidentally, since I posed this question, BlueHost's VPS servers decided to do their monthly blackout. So for 49 hours at the time of this writing, I have been unable to access FTP, email, website, and even my own cPanel. I cannot wait to move to a reliable host, and I will be able to understand your answer much better, Katherine. Thanks! – Jason Weber Apr 28 '15 at 17:09
  • I have eliminated the HM WP plugin prior to posing this question ... but I don't think 68 requests is unreasonable. Most of those requests stem from the images on the drop-down menu at the top. But there's still 2-4 seconds of server response time, and Google PS Insights say it's a bottleneck in my server. – Jason Weber Apr 28 '15 at 17:10
  • 1
    68 requests is fine depending on your site. My point was more that if HM WP adds, as a random guess example, 20 milliseconds to verify the safety of a request, and your homepage has 68 requests, that's 1360 milliseconds, that's 1.36 seconds added to your load time. Let's assume the BH people are right and your site is CPU-bound--they have access to the host and I don't. If your desktop computer is struggling to keep up with a program and you launch more programs, it's going to be even slower. Your server works the same way. – Katherine Villyard Apr 28 '15 at 18:42
  • 1
    Oh, and here's another metaphor. Think of the cores as employees and your site as the amount of work they need to do. Bluehost says the problem is that you need more employees. That may or may not be true; for the purposes of this metaphor Bluehost is a staffing agency, not efficiency experts, and rightly see it as not their job to question whether the work needs to be done or not. I'm questioning where the workload is coming from, and suggesting you analyze where the overhead is and whether it needs to be done. – Katherine Villyard Apr 28 '15 at 20:26
  • 1
    Thank you for that analogy, Katherine! I wish I had a hundredth of the knowledge of servers that you have. With guidance from a friend, I chose a new host. I'm migrating everything to an SSD-based Cloud Server from Siteground. I'm hoping this hardware is much more equipped to handle things, and it's managed hosting: 1x 3.0GHz CPU 2GB DDR3 RAM 20GB Disk Space 5TB Bandwidth .... I did ditch the resource-intensive Hide My WP plugin, per your suggestion, which I thought would help with security, but I don't need it. Thank you again for taking the time to respond! – Jason Weber Apr 29 '15 at 00:49
2

To me it looks like that the plugin does simply so heavy processing for every request that the requests take such a long time. You should ask the plugin provider if they can explain the slowdown in any way.

Tero Kilkanen
  • 36,796
  • 3
  • 41
  • 63
  • I will do just that, Tero. I have already ditched the plugin, per Katherine's suggestion ... and it's just really not necessary for security, I'm finding. Thank you for taking the time to respond! – Jason Weber Apr 29 '15 at 00:44
1

I'm afraid your experience is clearly insufficient to deal with such issues. You probably should hire someone to either supervise the server for you, or at least get it straight now (and get rid of cPanel). He might even tell you it is not a server issue, but rather WordPress thing.

You should start with looking at the load itself (CPU, memory, I/O, etc., there is great overview of linux performance tools from Brendan Gregg of Netflix available here) and if that is not tell-tale, then profiling the WordPress, to see what is taking it so long.

Misconfigured/misbehaving WP/WP plugin can cause high CPU load (not to be confused with server load), which could be somewhat solved by additional cores. But, if your system load comes from something else (like I/O), then that probably won't help. So without further knowledge of your server/site, it is not possible to guess, if their support was correct, or not.

Purchasing additional bandwidth won't help. The same probably goes to getting additional storage. What may help, in terms of additional resources, is getting more memory. Again depending on the situation, if your memory is full, or nearly full, processess get swapped out and that can both - slow everything to a crawl and cause a high load. But again, without further insight to the system itself, it's just guessing.

Fox
  • 3,977
  • 18
  • 23
  • Thank you Fox. Upon review with the help of a friend who's more knowledgeable on servers than I, I ended up switching from the cheap BlueHost VPS to a Siteground Cloud Server, where everything is SSD-based, not HDD-based. 1x 3.0GHz CPU 2GB DDR3 RAM 20GB Disk Space 5TB Bandwidth – Jason Weber Apr 29 '15 at 00:42
  • I will keep that -- adding extra memory -- in mind, however, if I still experience those issues. It sounds kinda like vamping up an old PC -- add some memory, and the speed picks up. Thanks for taking the time to respond! – Jason Weber Apr 29 '15 at 00:43
  • 1
    @JasonWeber you are most welcome. Hope you get your stuff resolved soon. And yes, VPSs are PCs as well, so similar principles apply. You just need to keep in mind, there are no silver bullets, you have to know what you are adding and why. Otherwise the effect is always uncertain. – Fox Apr 29 '15 at 08:37
1

I have never experienced issue such as long load times like that, however one thing I have noticed that tend to speed up my Wordpress load times is to use WP Super Cache. It caches the pages as plain HTML pages for most users, that way your server doesn't need to recompile the page every time.

As others have said, it could be poor server performance on their end with overloaded servers or something of that sort.

  • Thank you Jon. The actually site itself is well-optimized, and I do use a caching plugin (W3 Total Cache) that uses opcode for page, disk, and database caching. It's just the server. Hopefully, the new server I switched to, SSD-based cloud server, will be more powerful and has better hardware. – Jason Weber Apr 29 '15 at 00:45