What does it mean to say that a framework “scales well”?

后端 未结 8 1337
遥遥无期
遥遥无期 2021-02-07 03:16

When reading about frameworks (.net. ruby on rails, django, spring, etc.), I keep seeing so and so does or doesn\'t scale well.

What does it mean when someone says that

相关标签:
8条回答
  • 2021-02-07 03:40

    It means that a particular framework does (or does not) meet the increased demand that more users put on it. If you have an application written in VBScript, it might not do a good job of handling the 40,000,000 users of Facebook, for example.

    This blog post explains some of the scalability pains Twitter experienced a year or so ago. It could provide some more insight into the answer to your question.

    Sometimes lack of scalability is used to denigrate a language or framework, so watch out for that. Stick to studies that show real metrics. This applies to my VBScript example in the previous paragraph as well.

    0 讨论(0)
  • 2021-02-07 03:41

    When you plot some resource use (memory, time, disk space, network bandwidth) against concurrent users, you get a function that describes how the application works at different scale factors.

    Small-scale -- a few users -- uses a few resources.

    Large-scale -- a large number of users -- uses a large number of resources.

    The critical question is "how close to linear is the scaling?" If it scales linearly, then serving 2,000 concurrent users costs 2 times as much as serving 1,000 users and 4 times as much as serving 500 users. This is a tool/framework/language/platform/os that scales well. It's predictable, and the prediction is linear.

    If it does not scale linearly, then serving 4,000 users costs 1,000 times as much as serving 2,000 users which cost 100 times serving 500 users. This did not scale well. Something went wrong as usage went up; it does not appear predictable and it is not linear.

    0 讨论(0)
  • 2021-02-07 03:45

    substitute the phrase "handle expansion" for "scale"

    0 讨论(0)
  • 2021-02-07 03:49

    Scaling means how easy it is to satisfy more demand by using more hardware.

    Example: You have a website written in some language that gets 1000 visits a day. You get featured in some prominent magazin and your number of users grows. Suddenly you have 1000000 visits a day, thats 1000 times as much. If you can just use 1000 more servers to satisfy the grown need of resources, your website scales well. If on the other hand you add 2000 servers but still users can't connect, because your database can only handle 1000 requests per day, than your website does not scale well.

    0 讨论(0)
  • 2021-02-07 03:50

    IMHO, saying that a framework "scales well" usually means that someone in the hearsay chain was able to use it to handle lots of volume.

    In parallel programming scalability is usually used to describe how an algorithm performs as it is parallelized. An algorithm that has a 1:1 speedup is a rare beast but will double in performance on twice the hardware/cpu, treble on three times the hardware/cpu, etc...

    In my experience practically any framework can be made to scale given sufficient expertise.

    The easier the framework is to use the greater the chance that a developer with insufficient expertise will run into scalability problems.

    0 讨论(0)
  • 2021-02-07 03:53

    It means that some respected company is doing something serious with it and isn't having any problems with it.

    0 讨论(0)
提交回复
热议问题