What is scaling?

I always get this argument against RoR, which it does not scale, but I never get any suitable answer, if that really means? So, a newcomer asks what kind of " scaling " is and how do you measure it?

+6
terminology ruby-on-rails scalability
source share
7 answers

What the hell is scaling ...

As a general term, scalability means the responsiveness of a project to various types of demand. A well-scalable project is one that does not have any problems fulfilling requests for more of its services - or at least should not start rejecting requests because it cannot handle them.

It often happens that a simple increase in the size of the problem by an order or two reveals shortcomings in the strategies that were used to solve it. When such deficiencies are identified, it can be said that the solution to the problem is not โ€œwell scaledโ€.

For example, bogo sort is easy to implement, but as soon as you sort more than a handful of things, it starts to take a very long time to get the answer you want. It would be fair to say that sorting God does not scale very well.

... and how do you measure it?

This is a more complicated question. In general, there are no blocks related to scalability; statements such as "this system is N times scalable, like this," will at best be a comparison of apples with oranges.

Scalability is most often measured by seeing how well the system supports various types of demand under test conditions. People can say that a system scales well if it can keep up with a wide range of different types of demand. This is especially true if it requires that it is not currently experiencing, but it can be expected that there will be a sharp increase in popularity. (Think of the effects of Slashdot / Digg / Reddit .)

+10
source share

Scalability or scalability refers to how a project can grow or expand to meet demand:

http://en.wikipedia.org/wiki/Scalability

+9
source share

Scalability has a wide range of uses, as stated on Wikipedia:

Scalability can be measured in various sizes, for example:

  • Download scalability: the ability of an easily distributed system to expand and reduce its resource pool to place heavier or lighter loads. Alternatively, the ease that a system or component can be modified, added, or removed to adapt to changing loads.
  • Geographic Scalability: The ability to maintain performance, utility, or usability regardless of expansion from concentration in a local area to a more distributed geographical pattern.
  • Administrative scalability: the ability to increase the number of organizations to an easily distributed system.
  • Functional scalability. The ability to expand the system by adding new features with minimal effort.

In one area where I work, we care about the performance of high-performance and parallel computing while increasing the number of processors.

In the more general case, it is often found that increasing the problem with (say) one or two orders of magnitude generates a completely new set of tasks that are not easily predictable from a smaller system

+2
source share

This is a term for expressing the ability of a system to maintain its performance as it grows over time.

Ideally, you want the system to achieve linear scalability . This means that by adding new units of resources, the system is growing equally in its ability to perform.

For example: this means that when three webapp servers can handle thousands of simultaneous users, adding three more servers, it can handle twice the amount, two thousand simultaneous users in this case and no less .

If the system does not have the linear scalability property, there is a point where more resources are added, for example. hardware will not bring any additional benefits; performance, for example, converges to zero: as more and more servers are placed in the task. In the above example, the added benefit of each new server is getting smaller and smaller until it reaches zero.

Thus, scalability is a factor that tells you what you get as output from a given input . This range of values โ€‹โ€‹ranges from 0 to positive infinity, theoretically. In practice, anything that matches 1 is most desirable ...

+2
source share

Scalability is the ability of a system to accommodate a changing number of users. This could be an increase or decrease in the number of users, as we are now trying to plan our systems in cloud computing and leased computing conditions.

Think about creating an order entry system for 1,000 reps to accommodate 100,000 reps. What equipment needs to be added? What about databases? In short, it is scalability.

+1
source share

Application scalability refers to how it can work when the load on the application changes. This is often affected by the number of connected users, the amount of data in the database, etc.

0
source share

This is the ability of the system to accept increased workload, more functionality, change the database ... without affecting the original design or system.

0
source share

All Articles