Questions tagged [scalability]

The ability of a system, network, or process, to handle growing amounts of work in a graceful manner or its ability to be enlarged to accommodate that growth.

Scalability is the capability to increase resources to yield a linear (ideally) increase in service capacity. The key characteristic of a scalable application is that additional load only requires additional resources rather than extensive modification of the application itself.

Although raw performance makes a difference in determining the number of users that an application can support, scalability and performance are two separate entities. In fact, performance efforts can sometimes be opposed to scalability efforts.
/msdn/

A system whose performance improves after adding hardware, proportionally to the capacity added, is said to be a scalable system. An algorithm, design, networking protocol, program, or other system is said to scale, if it is suitably efficient and practical when applied to large situations (e.g. a large input data set or a large number of participating nodes in the case of a distributed system). If the design fails when the quantity increases, it does not scale.
/wikipedia/

Scalability is a general quality that holds when the system continues to satisfy its requirements when various usage parameters are increased.

E.g., a file server might be scalable to a high number of users, or to very large files or very high capacity disks.

Scalability goals:

  • Performance under load
    This is a specific type of scalability goal dealing with the performance of the system at times when it is servicing many requests from many users.
  • Large data volume
    This is a specific type of scalability goal dealing with the ability for the system to handle large data sets. Operations should continue to be correct and efficient as data set size increases. Furthermore, the user interface should still be usable as the data presented to users increases in length.
241 questions
55
votes
5 answers

Optimal value for Nginx worker_connections

Nginx worker_connections "sets the maximum number of simultaneous connections that can be opened by a worker process. This number includes all connections (e.g. connections with proxied servers, among others), not only connections with clients.…
Aarti
  • 629
  • 1
  • 7
  • 6
34
votes
6 answers

What is a typical method to scale out a software load balancer?

I often see web app architectures with a SLB / reverse-proxy in front of a bunch of app servers. What happens when the number of connections to the SLB requires too many resources for a single SLB to handle effectively? For a concrete yet…
z8000
  • 752
  • 1
  • 6
  • 15
32
votes
9 answers

What's the piece of hardware listening on Facebook's or Wikipedia's IP address?

I am trying to understand how massive sites like Facebook or Wikipedia work, for my intellectual curiosity. I read about various techniques for building scalable sites, but I am still puzzled about one particular detail. The part that confuses me is…
Igor Ostrovsky
  • 432
  • 4
  • 8
25
votes
10 answers

Running 100 virtual machines on a single VMWare host server

I've been using VMWare for many years, running dozens of production servers with very few issues. But I never tried hosting more than 20 VMs on a single physical host. Here is the idea: A stripped down version of Windows XP can live with 512MB of…
Dennis Kashkin
25
votes
6 answers

Scaling databases with cheap SSD hard drives

I hope that many of you are working with high traffic database-driven websites, and chances are that your main scalability issues are in the database. I noticed a couple of things lately: Most large databases require a team of DBAs in order to…
Dennis Kashkin
  • 391
  • 3
  • 5
17
votes
1 answer

Highly-available, Web-accessible and scalable deployment of statsd and graphite

I'd like to setup statsd/graphite so that I can log JS apps running on HTML devices (ie. not in a contained LAN environment, and possibly with a large volume of incoming data that I don't directly control). My constraints: entry point must speak…
David142
  • 353
  • 1
  • 2
  • 9
12
votes
3 answers

What types of systems have to “scale up” rather than “scale out”?

I have been wondering for a long time if there are systems that have to "scale up" (onto a more powerful, more expensive server) rather than "scale out" by being split across many smaller servers. Do such systems exist, and if so, is there anything…
Demi
  • 229
  • 1
  • 8
11
votes
5 answers

AWS: Multi-region setup using single RDS instance

I'm trying to scale our web application (PHP, MySQL, memcache) in a multi-region scheme. Currently we are using a setup with two EC2 instances behind an ELB and an RDS instance, all of them in US-EAST (Virginia) region. We would like to have a…
Ion
  • 278
  • 2
  • 3
  • 10
11
votes
4 answers

PostgreSQL scaling up to 64 cores?

In this Computer World article, it specifies that PostgreSQL can scale up to a core limit of 64. Does this mean for one multi-core processor of 64 cores? Or multiple processors with fewer cores? The reason why I ask is because I am trying to find…
O_O
  • 635
  • 3
  • 15
  • 25
10
votes
9 answers

Scalable (> 24 TB) NAS for research department

I have been asked to provide a new fileserver to store our medical images (raw format, not dicom). As we have no IT staff, I have to find a solution, and I hardly know anything about this topic. The requirements we have are: scalable to 24 TB in 3…
10
votes
10 answers

How to solve linux subdirectories number limit?

I have a website which will store user profile images. Each image is stored in a directory (Linux) specific to the user. Currently I have a customer base of 30+, which means I will have 30+ folders. But my current Linux box (ext2/ext3) doesn't…
None-da
  • 201
  • 1
  • 2
  • 6
10
votes
5 answers

Optimize apache for 10K+ wordpress views a day on 2GB RAM E6500 CPU

I have a dedicated server with apache/php on ubuntu serving my Wordpress blog with about 10K+ pageviews a day. I have W3TC plug in installed with APC. But every now and then server stop responding or goes dead slow and i have to restart apache to…
Broke artist
  • 101
  • 1
  • 1
  • 3
9
votes
2 answers

Scale HAProxy for more than 64k websockets

We are trying to design an architecture that will be able to handle more than 64k websockets. We first tried with Amazon ELB, but its design doesn't allow unexpected spike of traffic nor websocket. (TCP mode timeout the websockets unexpectedly) With…
Bastien974
  • 1,824
  • 12
  • 43
  • 61
8
votes
2 answers

is TCP port exhaustion real?

How fast would one need to allocate ephemeral ports in order to get into the TCP port exhaustion condition? I was told there are ~4k (older Windows), ~16k (newer Windows) or ~28k (RH Linux) ports available for the client requests. Now, is the pool…
Andriy Volkov
  • 231
  • 2
  • 3
  • 9
8
votes
0 answers

Multithreading with multi-queue NIC on SMP system

How are packets scheduled from network interface queues to CPUs, then onwards to threads for processing? What needs to be considered when it comes to how packets are hashed across queues, hardware interrupts vs softirqs, CPU/memory/app/thread…
svenx
  • 406
  • 3
  • 4
1
2 3
16 17