0
13

[–] Mooch 0 points 13 points (+13|-0) ago 

More servers does not necessarily mean they will be able to accommodate more traffic, though it could help. The problem is most likely the coding. The code is how the website works and how it directs users to what they want to see. The more efficient the code, the faster it will be able to complete actions. The faster the server can complete actions, the more it can do in a given amount of time. By having fast code, it allows for more people to request info and navigate the site. Think of it as a line at a coffee shop - the faster the barista, the more people they can accommodate. If the line is out of the shop doors, people will be rejected, which is like seeing the "Voat is under heavy traffic" page. If you have a very talented team of baristas, you will never have a line out of the door, thus never rejecting people or "showing them the heavy traffic page." Making code efficient can be very difficult and often takes a great deal of time. I'm sure everyone at Voat is working their best to improve conditions for the site! If you have any more questions, I'll do my best to answer!

0
1

[–] cuntastic 0 points 1 point (+1|-0) ago 

That's a very good ELI5 analogy, thanks Mooch!

0
0

[–] Mooch ago 

Glad I could help!

0
1

[–] milch 0 points 1 point (+1|-0) ago 

In your analogy, having more baristas would still result in not having a line, the baristas would just be terribly inefficient. There's technologies like Amazon Web Services, where you don't have to rent all the servers right away: Auto Scaling will just start up more servers for you as traffic becomes higher (i.e. your coffee shop owner calls in more baristas to work and sends them home again when all customers have their coffee). That way you only have to pay for what you actually use (with a little overhead, of course) and don't have to rent out huge servers upfront.

0
0

[–] Mooch ago 

Great point, thanks for the example!

0
2

[–] mastercactapus 0 points 2 points (+2|-0) ago 

Imagine you and some friends were playing apples-to-apples. Then imagine hundreds or thousands of people show up to play. Everyone from the grocery store, everyone from school, the whole town. If you just buy more games, then yes, everyone can play sure. But they wont be playing the same game; and you need everyone playing at the same time, the same game. (e.g. if you make a post, or upvoat, everyone needs to see it) So now you have enough cards, but now each round who ever is being the judge needs to go through thousands of cards and it takes forever.

The problem with scaling is that not all parts can scale like that. You can get more servers, but somehow all of those new servers need to be in sync. If you make a post on one server, it needs to store that somewhere that all the other servers can see it, but all the other servers are also submitting posts. The places where these issues come up are often referred to as bottlenecks. Fixing or widening these "bottlenecks" is most likely where most of the time is being spent.

Additionally most of these problems require solving problems creatively, writing code or tools etc.. And it's not really something you can just push more people at either. Puzzles take time to solve, and it takes time to work through those scalability problems. Especially on short notice. It's kind of like wack-a-mole sometimes.

0
0

[–] ghostwriter [S] ago 

Thank you for you excellent response, I get it now. Sorry I couldn't reply sooner, Voat was down...