Howdy, Stranger!

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


Which is the bottleneck of the VPS KVM ? - Page 2
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.

Which is the bottleneck of the VPS KVM ?

2»

Comments

  • bikegremlinbikegremlin Member
    edited June 2019

    Thank you @smallbibi for the reply. If it helps any further considerations, here are the stats of a server where a reseller account is hosted:


    .
    .
    And here are CloudLinux resourse usage stats for a particular WordPress website with over 1000 daily visits and, I assume, properly optimized, plus using LiteSpeed cache (flat line is after migration off a previously used server):


    .
    .

    And more recent, 24 hour stats from a server where it's currently hosted:


    .
    .

    Stats of a poorly optimized WordPress website when updating a post (no visits):

    .
    Based on this, if I understand correctly, it appears that, with WordPress, CPU is the most "loaded" resource, hence most likely to become the bottleneck.

    Though I'm sure I/O performance highly depends on the number of websites hosted on the same (physical) server and what those websites are doing (idling, or reading/writing to disc), regardless of the max I/O limit set using CloudLinux (for example).

    I'm also convinced that an overloaded server will have your website "coughing" well before it reaches the max. resource limits it is given/allowed by CloudLinux.
    While on a server that isn't overloaded, it should be able to use nearly 100% of a given resource for a few seconds at a time (while taking say 90% for long probably ends with a warning/suspension from the hosting provider, even if not hitting the 100% CloudLinux limit).

    Another assumption I'm yet to further test and confirm, is that hitting either RAM, or CPU limit (within CloudLinux) gets a WordPress website temporarily down, while hitting I/O limits usually just slows it down, without any errors (when updating posts, categories etc.). I was expecting only RAM limit to cause a "website down". Not sure if it depends on a particular server setup by the hosting provider.

    So, it's all a black box for me. No idea how exactly it works under the hood (though it often seems it's similar with most hosting providers and tech support :) ). Does this make any sense, or did I get it all wrong?

    Based on the above shown stats, can an estimation of the needed VPS resources for hosting 10 such websites be made?
    We still in a 30-50 or so area with a 2 vCPU - 2 GB RAM VPS?

    Also, my understanding is that cPanel alone takes 1 thread (core?) and 1 GB of RAM to run properly when it is run. So not sure if, on a 2 GB RAM VPS, 10 users could simultaneously use cPanel for their accounts (unless one instance is somehow used to run all the accounts installed on the server, again - it's all a black box for me, but especially with CloudLinux I wouldn't expect this to be possible - for security/isolation reasons if nothing else).

    Sorry for the long post, Tarzan English - and thanks in advance for any info and explanation.

  • NoCommentNoComment Member
    edited June 2019

    bikegremlin said: Based on this, if I understand correctly, it appears that, with WordPress, CPU is the most "loaded" resource, hence most likely to become the bottleneck.

    Most of the time yes, CPU is the bottleneck for wordpress. But even more so in shared environments. The biggest problems you face with wordpress are when playing with its backend or when you have tons of plugins.

    bikegremlin said: While on a server that isn't overloaded, it should be able to use nearly 100% of a given resource for a few seconds at a time (while taking say 90% for long probably ends with a warning/suspension from the hosting provider, even if not hitting the 100% CloudLinux limit).

    Again, I don't use shared hosting enough to understand how providers deal with this, but I think after you burst for a few seconds (eg. playing with wordpress backend), cloudlinux throttles you. You cannot constantly use 90-100%, you probably cannot even constantly use 50%. But if you constantly use the max allocated resource even after the throttling, your provider will probably warn/suspend you or ask you to upgrade your plan.

    Also, think about it. That server definitely has at least a few hundred shared accounts on it, possibly even 1000+ accounts. And there's only 32 GB of ram to go around. How much swap can you even setup? Probably best to have 0 swap, and the most you can have is probably 8-16 GB of swap. (Recently, I saw a new provider on LET with 8 GB ram and 16G GB swap on their vps lol) Even then, there's not nearly enough ram to go around. It gets worse for cpu, since there's only 8 threads and everyone's allocated 1 thread.

    bikegremlin said: Another assumption I'm yet to further test and confirm, is that hitting either RAM, or CPU limit (within CloudLinux) gets a WordPress website temporarily down, while hitting I/O limits usually just slows it down, without any errors (when updating posts, categories etc.). I was expecting only RAM limit to cause a "website down". Not sure if it depends on a particular server setup by the hosting provider.

    To me, cloudlinux is a black box and I don't know it's inner workings so I can't say for sure. But normally, exceeding your cpu limit just means having a high load so things slow down. Not having enough ram will show errors on your site.

    bikegremlin said: Also, my understanding is that cPanel alone takes 1 thread (core?) and 1 GB of RAM to run properly when it is run.

    Usually when you are given 1 core, it's really 1 thread. For example, the e3 in your server has 4 cores, but there's hyperthreading so 8 threads.

    bikegremlin said: We still in a 30-50 or so area with a 2 vCPU - 2 GB RAM VPS?

    Yes, in fact that 30-50 area might be achievable on 1 GB of ram but things could be slow since you will need to use swap. In case you don't know what swap is, its using your disk as 'ram'. But when I said these things, I was thinking of using nginx and not using any panels.

    There is zero reason to pay for cpanel and cloudlinux licensing among many other licenses just to use it on a small vps. There's still litespeed, softaculous, whatever backup plugin and other stuff you have to pay for. If cpanel is a necessity, maybe it is too early for you to consider setting up your own cpanel server for just 30-50 websites with 1000 daily views. Either deal with the slower cheap reseller plans, or pay a premium for slightly better reseller plans.

    Thanked by 1bikegremlin
  • Swap works similarly to Windows - i.e. to pre-load stuff and being used when there's not enough RAM for operation, to prevent a complete stop, but being million times slower than RAM?

    Cloudlinux should, again, from my understanding, protect websites (accounts) from each other - in case of any problems and/or viruses. Are there any other (good & reliable) options for good isolation of accounts within one server that don't cost much (Google doesn't say so)?

    Putting it on paper - even If 50 websites can work fine on a 2 "core" - 2 GB RAM VPS, managed one with CloudLinux and Litespeed licenses (cPanel and WHM is often included in the basic price, "free" as they put it) could still end up being a lot more expensive than good quality reseller (shared) hosting.

    Plus, unless it's a "dedicated VPS" (even more expensive), the VP server would be subject to similar limits that a shared hosting account is subject to: in terms of no frequent, nor prolonged maxing of resource usage.

    But I wasn't aware that it could be possible to expect more than 5 to 10 websites to run fine on even a 2-2 VPS, much less 1-1 (CPU - RAM). In fact, had considered something like that for just one website, until I tried a good quality shared/reseller hosting (getting wrong advice, but ended up not taking it).

  • Probably a dumb question but is there a good way to handle multiple domain/themes with 1 Wordpress installation? Is it possible without a panel? When 1 plugin is installed for 1 domain is it enabled on all domains?

    It seems like all the Wordpress updates never seem to address multiple domains on 1 server but I'm sure I am missing something

  • @sidewinder said:
    Probably a dumb question but is there a good way to handle multiple domain/themes with 1 Wordpress installation? Is it possible without a panel? When 1 plugin is installed for 1 domain is it enabled on all domains?

    It seems like all the Wordpress updates never seem to address multiple domains on 1 server but I'm sure I am missing something

    On a per installation level, yes, as decently explained here:

    https://www.wpbeginner.com/plugins/how-to-enable-automatic-updates-for-wordpress-plugins/

    And on WordPress.org website:
    https://wordpress.org/support/article/configuring-automatic-background-updates/

    If you have a child theme (it's very handy for all sorts of customizations, without having to install 1004th plugin), add this to functions.php:

    // BEGIN auto updates

    add_filter( 'auto_update_plugin', '__return_true' );
    add_filter( 'auto_update_theme', '__return_true' );

    // END auto updates

    Expect an update to crash the site from time to time. Safer option is to make a test site, update there, then if it's all good, update the "main", "live" website.

  • NoCommentNoComment Member
    edited June 2019

    bikegremlin said: Swap works similarly to Windows - i.e. to pre-load stuff and being used when there's not enough RAM for operation, to prevent a complete stop, but being million times slower than RAM?

    Yep, that's basically it, plus some things require swap to work or they just don't work. Don't ask me why

    bikegremlin said: Cloudlinux should, again, from my understanding, protect websites (accounts) from each other - in case of any problems and/or viruses. Are there any other (good & reliable) options for good isolation of accounts within one server that don't cost much (Google doesn't say so)?

    If you do things properly, I don't think it's necessary to isolate your websites from each other. I think the worst that could happen is some site gets hacked and sends spam emails elsewhere. If you do want isolation, maybe you can run vms but I don't think it's worth the effort just for wordpress sites. Not to mention people won't like you running vms on a vm.

    bikegremlin said: But I wasn't aware that it could be possible to expect more than 5 to 10 websites to run fine on even a 2-2 VPS, much less 1-1 (CPU - RAM).

    Well, there's people running wordpress on 128mb servers I believe. And based off your screenshots, your 1000+ views site use only around 70-80mb of ram. Things could even run better if you move away from cpanel :)

    sidewinder said: Probably a dumb question but is there a good way to handle multiple domain/themes with 1 Wordpress installation? Is it possible without a panel?

    Yes and yes, google wp-cli. Maybe you can use things like centminmod or easyengine.

    sidewinder said: When 1 plugin is installed for 1 domain is it enabled on all domains?

    I don't think so, but it is possible to install plugins via command line.

    sidewinder said: It seems like all the Wordpress updates never seem to address multiple domains on 1 server but I'm sure I am missing something

    Wordpress does have a multisite feature since a very long time ago, I guess there isn't much documentation on it though.

    Thanked by 1bikegremlin
  • datanoisedatanoise Member
    edited June 2019

    bikegremlin said: Suppose the VPS is used for WordPress websites, that are decently optimized (using caching plugins and server's cache - LiteSpeed, or nginx).

    What resource "ratio" is most likely to be "optimal"?

    How is it best "scaled" for more resources? Same increase in RAM and CPU, or different ratios?

    There is no ratio: 1 good core is better than two crappy cores, or two good cores oversold as much as possible.

    1 fast core is said to be better for php as you need your page to be generated as fast as possible. Two fast cores can't hurt of course. But if you cache your pages, any decent VPS with 1 core and 512MB of RAM will be able handle several thousands of visitors per day.

    If you need more ram (caching? database index?) you can be fine with 1 core and more ram. If you need more CPU (can't cache much and need to do more php/mysql for example) then just add more CPU. There isn't a magic recipe that will work for everything. And it's difficult to compare "a core" with "another core" on LET: is it dedicated? "dedicated" (aka shared as much as possible but marketed as dedicated) is it shared but wisely, is it oversold way too much? etc...

    Thanked by 1bikegremlin
  • Jona4sJona4s Member
    edited June 2019

    @Falzo said:

    @smallbibi said:

    Chievo said: A Wordpress based website.

    For wordpress, cpu is usually the bottleneck.

    not true. for wordpress in 99% of cases the bottleneck is the idiot in front of the monitor calling himself "webmaster" while installing plugin number 324...

    It gets even worse.
    They call themselves "Dev team" and "Wordpress programmers"
    https://www.lowendtalk.com/discussion/comment/2978821/#Comment_2978821

    It's funny how wordpress users dare to even talk about performance, when they don't even know what a syscall is, and what causes the Zend engine behind WP to call expensive syscalls or fork a process per connection.

    why bother running perf and sampling the highest us/sy % function, if you can't even modify those functions

  • @Jona4s said:

    @Falzo said:

    @smallbibi said:

    Chievo said: A Wordpress based website.

    For wordpress, cpu is usually the bottleneck.

    not true. for wordpress in 99% of cases the bottleneck is the idiot in front of the monitor calling himself "webmaster" while installing plugin number 324...

    It gets even worse.
    They call themselves "Dev team" and "Wordpress programmers"
    https://www.lowendtalk.com/discussion/comment/2978821/#Comment_2978821

    It's funny how wordpress users dare to even talk about performance, when they don't even know what a syscall is, and what causes the Zend engine behind WP to call expensive syscalls or fork a process per connection.

    why bother running perf and sampling the highest us/sy % function, if you can't even modify those functions

    I agree - based on WP support forums and groups, lots of clueless developers. Consider myself among those, but was still shocked to see what project a person works on and read what kind of question they are asking (thinking "with that knowledge and experience you are taking money and offering service - with someone relying on you?!").

    However, computers have become very powerful. Human time is the bottleneck. While as a kid I wrote some machine language programs on C64 and in time learned a great deal about how computers work under the hood, which operations are "heavier" on the resources, now there are some very good object language programmers who have no idea of that stuff, but I'd hire them rather than myself for any "serious" project.

    When you weigh the development time against the end-product functionality (and quality plus speed/optimization), some of the "clueless" often provide a better result.

    As for the WordPress:
    Don't know about the others, but for me, WP was the most time-efficient way to create and update content. It is free for most basic functionality and very idiot-friendly (took me one afternoon to figure it out, was making the website on the following day).

    By the time Dreamweaver was "the thing", I had already stopped making any websites. Then, in 2015, decided to make one, for my own use. Weighed many options and WP was looking as the least bad one, all things considered. I still think, for me at least, it fits the bill best. Have no idea how it works "under the hood", so performance does boil down to trial and error.

    For example, with all I know about databases, I guessed "post ID" "permalink structure" should be the fastest to search (it is unique and it is a number - though still not sure if WP treats it as integer, or alphanumeric "on the inside"). Plus I was lucky enough to be using a very, very slow performing hosting server at the time. Changing the "permalink structure" to post ID did show a speed improvement visible using primitive testing methods like average page load times. Writing it all down, for my own reference and to be able to show it to anyone who knows what they are doing and get help/corrections.

    If you don't do any coding, you can still choose themes that are known to perform fast (I opted for a well documented one that has fast working reputation). Same goes for choosing plugins. Plus, with some basic knowledge of CSS and PHP, you can avoid using plugins for many things - just editing the code yourself - it usually turns out to be faster and more stable than having several more plugins, even if the code is not the "most optimally written".

    Only websites that require some very "exotic" design and functionality seem to need more than that. Yes, many clueless people design those as well, which often results in a website needing a good quality VPS to work at all, especially from the backend, but that too, especially in short and mid-term often ends up being more time and money saving than hiring expensive "top class" developers (if one can figure out which ones are those, since, just like with hosting, every home-page offers stellar service quality, top experts...).

Sign In or Register to comment.