Howdy, Stranger!

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


IT student looking for case studies, whitepapers, or articles about VPS hardware requirements
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.

IT student looking for case studies, whitepapers, or articles about VPS hardware requirements

DankkDankk Member

I'm an IT student, currently working on one of my final projects. The project involves a fictional company whose website lives on an old, crappy, unreliable on-prem server sitting in the basement of their office building. I have to write a report about how I am migrating their website to a much more reliable cloud-hosted VPS, installing Apache, applying necessary security configurations, etc, etc.

For the actual project, I've spun up a basic VPS using Oracle Cloud's "always free" tier, which comes with a single AMD EPYC processor core and 1GB of RAM.

In this (fictionalized) scenario, I'm confident this is more than enough for hosting a simple, static website. However... I'd like to find some some professional sources online explaining why those specifications are sufficient (or not sufficient) so I can include them as references.

I don't need anything hyper-specific. Basically I am just looking for any kind of online work that explains the hardware requirements needed for different kinds of websites or web applications. It can be an interview, white paper, research study, case study, or configuration/implementation guide. It can even be a simple blog article, as long as it's written by an industry expert.

Hopefully this is a good place to ask this question. If it's not, please delete. Thanks in advance!

Comments

  • martheenmartheen Member
    edited October 2022

    Why not just load-test the VPS itself with tools like loader.io? Nginx benchmark from 2014 written by their employee indicates 1 GB-1 core VPS can easily serve 50k simultaneous WebSocket connections while Litespeed benchmark from 2019 indicate 1 GB-1 core VPS can handle at least 2k static page requests per second. Now your project would have a different structure (maybe it's really static, perhaps there are DB calls involved for the initial visit, idk) and a better explanation of why those are enough would be the actual benchmark of the project itself.

    FWIW the Oracle Cloud x64 tier doesn't come with a single core, merely 1/8 of it, though if the site really is static and your caching is working correctly, that won't matter for a medium load.

    Thanked by 1Dankk
  • @martheen said:
    Why not just load-test the VPS itself with tools like loader.io? [Nginx benchmark]

    He wants the reference as a way to show he's in the right ballpark for the chosen hardware. Think of it as prepurchase confirmation, not post. But the rest of your post probably is the right answer for him.

  • PwnerPwner Member
    edited October 2022

    In this type of case, I think searching "what type of hosting should I use for a website" would work in Google for results such as this: https://www.dreamhost.com/blog/types-of-web-hosting/

    DreamHost is a well known host and this is the type of "industry expert" knowledge you're probably looking for that would explain what type of resource you would need for each hosting option, such as shared hosting, getting a VPS, or running a dedicated server.

    Regardless, one of the main points you could also make for your project is explaining the benefits of hosting the website off-site in the event that the building loses its internet connectivity. Any average datacenter has redundancy in place for power and connectivity to mitigate the risk of downtime. Not every on-premise office environment can come close to offering the same level of service that most cloud providers can give for a cheap monthly cost. This isn't even touching the surface in factoring the costs of buying and maintaining hardware, UPSs, fiber contracts, etc.

    Thanked by 1Dankk
  • raindog308raindog308 Administrator, Veteran

    First tell us where you got that awesome sandwich.

    Thanked by 1BingoBongo
  • @TimboJones said: He wants the reference as a way to show he's in the right ballpark for the chosen hardware. Think of it as prepurchase confirmation, not post. But the rest of your post probably is the right answer for him.

    Why wouldn't a stress stress be a valid reference?

    Dosen't have to be done live. Can be done before migrating.

    No reference can give a legitimate hardware expectation since each case is different. There's too many variables.

  • emghemgh Member
    edited October 2022

    Nvm I think I get it, what about just referencing current usage?

    I don't like the idea of giving estimates based off of generalizations. Even 1 badly optimized WP plugin for example can make A HUGE difference, and there's 55,000+ plugins out there.

    Aware you didn't mention WP, but just as an example.

    Thanked by 1Dankk
  • There used to be a plugin I used on WP that made my dedi shit the bed in an hour after going live.

    These tests aren't reliable. It always depends.

  • yoursunnyyoursunny Member, IPv6 Advocate

    @Dankk said:
    The project involves a fictional company whose website lives on an old, crappy, unreliable on-prem server sitting in the basement of their office building. I have to write a report about how I am migrating their website to a much more reliable cloud-hosted VPS, installing Apache, applying necessary security configurations, etc, etc.

    In 2006~2007, I managed two college websites.
    Each website had a desktop computer as its dedicated server, running Windows Server 2003.
    One sat in an AV equipment room with air conditioning; the other was tucked away in a corner of the office, which doubled as the printing server of the office.
    People working in those rooms were told not to touch the computers.

    When I first took over the first server, I noticed that the Windows guest account is enabled, so I disabled it.
    A month later, the server didn't come online after a reboot.
    Two days later, I was able to enter the room, and I discovered that there were magazines stacked on top of the keyboard, pressing on F12 key, causing the computer to stay on the boot menu.
    It turned out that the AV technician has been using the guest account to browse the Internet although he's not supposed to.
    After I disabled the guest account, he brought in his own computer, and moved the magazines onto our keyboard.
    This incident caused two days of website downtime.
    I removed the keyboard and monitor of our computer to avoid a repeat.

    Sometimes I feel the server runs slowly and have to reinstall its operating system.
    The server in the AV room no longer has keyboard or monitor, so I had to take it to my dorm for the reinstall.
    Each reinstall would cause one day of website downtime.

    For the server in the office, I went there with CD-ROMs, and I brought a classmate to reinstall another office computer at the same time.
    That website cannot be turned off during the day, so we started working at 19:00.
    By the time we finished, after four hours of downtime, we found the building locked and all the hallway lights turned off.
    My classmate was horrified and scared of ghosts, and wanted to call the campus police to rescue us.
    I said: if you call the police, they give you handcuffs and put you in cold jail; if you stay here, we can use computers and enjoy air conditioning.
    We argued for two hours until he fell asleep on a chair, and I had to sleep on the floor.

    So here you go, the disadvantages of hosting your website using a basement server.

    Thanked by 1Dankk
  • emgemg Veteran
    edited October 2022

    Are we doing a good job of addressing @Dankk's original question here? I wonder.

    What Dankk wants are documents and authoritative websites that teach and demonstrate how to estimate the resources necessary to host a given website. Phrased another way, how do we show that a given server has sufficient resources to host a given website? In Dankk's hypothetical example, they have a static website, and need to show the "boss" that the Oracle free tier has sufficient resources to host that website.

    I wish I could help better, but this question is very much "out of my wheelhouse." Nonetheless, I am going to try to steer the conversation from "anecdotal" to more of a data-driven approach.

    If I were a student and stuck with the assignment, I would start by estimating the load on the website.

    How many average views per hour? What is the expected peak load? How much average and peak network I/O traffic would they generate?

    With those initial estimates, I would try to estimate the RAM and CPU required per visit (per 1000 visits? 1000000 visits? ... whatever the metric). Remember to include estimates for overhead and maintenance (backups, etc.). Since it is a static website, it should be relatively easy to determine how much storage (disk) is needed for OS, static website files, website development resources (prototypes, updates-in-progress, etc.)

    Remember to include resources for maintenance, security, logs, etc.

    After that, I would help the "boss" plan for growth. What is the expected lifetime of the website? How much will website traffic increase month-over-month? How often should you review and reanalyze? Based on growth estimates, when do you expect to upgrade to a server with more resources? How much would that migration cost?

    What I just wrote above is just a "top of my head" thinking about how I might approach the problem as just another student. I'm trying to create a mindset of following a systematic, data-driven approach, thinking about the problem "like a manager".

    I assume that there are good educational and support materials on the internet to help people make these estimates; I wish I knew where. Others here should have far more experience than I, and I hope this kickstarts a different, more academic approach, which is what I think Dankk wants.

    Does that help or hurt?

    Thanked by 1Dankk
  • DankkDankk Member
    edited October 2022

    Wow, some good responses here.

    @martheen said:
    Why not just load-test the VPS itself with tools like loader.io? Nginx benchmark from 2014 written by their employee indicates 1 GB-1 core VPS can easily serve 50k simultaneous WebSocket connections while Litespeed benchmark from 2019 indicate 1 GB-1 core VPS can handle at least 2k static page requests per second. Now your project would have a different structure (maybe it's really static, perhaps there are DB calls involved for the initial visit, idk) and a better explanation of why those are enough would be the actual benchmark of the project itself.

    Thanks for introducing me to loader.io!

    And honestly, you're right, it would have probably been a good idea to set up a VPS first as a prototype, and then perform some load testing on it to ensure that it fits the company's needs. One of the requirements for this project is that I have to follow some kind of project management methodology, such as SDLC. Prototyping and load testing probably would have been a good item to include in the initial analysis phase.

    One thing I want to stress is that - for the sake of making my assignment easier - this is a very small, somewhat niche company, and their website is very small and static. In fact, a more important metric would simply be the overall uptime and availability of the site, rather than resilience against heavy load (I have included a 72 hour-long "uptime" validation test as part of the implementation phase).

    The reason for this is because the company's office resides in a very small, rural US town with poor internet connectivity, and occasional ISP outages cause the company website to go down for hours, sometimes days at a time. (I explain this a bit more further below.)

    @martheen said:
    FWIW the Oracle Cloud x64 tier doesn't come with a single core, merely 1/8 of it, though if the site really is static and your caching is working correctly, that won't matter for a medium load.

    Can you expand on this? I'm afraid I may have misread Oracle's online documentation. The material I've read basically states that you get a single CPU core with hyperthreading.

    @Pwner said:
    In this type of case, I think searching "what type of hosting should I use for a website" would work in Google for results such as this: https://www.dreamhost.com/blog/types-of-web-hosting/

    DreamHost is a well known host and this is the type of "industry expert" knowledge you're probably looking for that would explain what type of resource you would need for each hosting option, such as shared hosting, getting a VPS, or running a dedicated server.

    Thank you for that Dreamhost link.

    @Pwner said:
    Regardless, one of the main points you could also make for your project is explaining the benefits of hosting the website off-site in the event that the building loses its internet connectivity. Any average datacenter has redundancy in place for power and connectivity to mitigate the risk of downtime. Not every on-premise office environment can come close to offering the same level of service that most cloud providers can give for a cheap monthly cost. This isn't even touching the surface in factoring the costs of buying and maintaining hardware, UPSs, fiber contracts, etc.

    This is actually exactly what I am doing. A large part of this fictional scenario is that the company is a small, family-owned manufacturing firm whose office resides in a rural town with access to only one ISP, and their internet connection is rather slow and unreliable. It's so unreliable that outages on the ISP side sometimes cause their website to go down for hours, or even days at a time.

    For the sake of the scenario, the company's internal operations don't really rely on having a good internet connection, however their website is the primary channel through which potential customers learn about them and their products, so it's critical to have a responsive website with good uptime.

    Where I explain my justification for the solution, I try to emphasize how modern data centers have various measures built in for availability and redundancy.

    @emgh said:
    Nvm I think I get it, what about just referencing current usage?

    I don't like the idea of giving estimates based off of generalizations. Even 1 badly optimized WP plugin for example can make A HUGE difference, and there's 55,000+ plugins out there.

    Aware you didn't mention WP, but just as an example.

    Yeah, I'm kind of wishing I had included some more detail about current usage when I wrote the initial project proposal. I'm not even sure if this fictional company had basic analytics set up on their website before this migration... however, I could probably sneak in some info about this in the post-implementation report. Maybe they had a really basic analytics solution set up that fired off data to a 3rd-party dashboard somewhere, and that would at least give me some basic numbers to work with.

    Again, as described above, the initial problem with this company's website is that it was running on extremely old, unreliable hardware with a slow and unstable internet connection. I'm trying to emphasize the goal of hosting the website on a platform that makes it actually fast and reliable in the first place, and not one that can necessarily withstand tens of thousands of hits per day. This is a small company with a small customer base, and the number of average website hits in a day probably doesn't exceed a few thousand.

    I'm not writing a master's thesis or anything, and the project doesn't have to be infallible. The basic idea from my school is that I should be competent enough to run a project where I identify and analyze a problem, determine the best possible solution, follow a project methodology, estimate goals and deliverables, etc.

    Part of the reason why I picked VPS as my project is because the "IT Specialist" who works for this fictional company - despite not wanting to deal with physically managing an on prem server - has still emphasized that he would prefer to have a fully-featured IaaS-level solution where he has full control over the OS and the services that run on it, which is why I didn't go with a shared hosting service instead.

    I'm still all ears if anyone else has any good references to share. Thank you guys so much!

  • @Dankk said: their website is very small and static. In fact, a more important metric would simply be the overall uptime and availability of the site

    IRL this would be hosted on a static hosting solution like Cloudflare Pages or Netlify with a far better uptime guarantee instead of any VPS.

    @Dankk said: The material I've read basically states that you get a single CPU core with hyperthreading.

    https://www.oracle.com/cloud/free/

    2 AMD based Compute VMs with 1/8 OCPU** and 1 GB memory each

    The benchmark result would prove it, try

    sudo apt-get install sysbench -y && sysbench --threads=2 cpu run
    

    and compare to running it on your own PC (if you're on Windows, just setup WSL with wsl --install)

    Thanked by 1Dankk
Sign In or Register to comment.