Techniques for writing a scalable website

后端 未结 10 1010
生来不讨喜
生来不讨喜 2021-02-01 10:15

I am new in the website scalability realm. Can you suggest to me some the techniques for making a website scalable to a large number of users?

相关标签:
10条回答
  • 2021-02-01 10:41

    Very similar: How Is PHP Done the Right Way?

    Scalability is no small subject and certainly more material than can be reasonably covered in a single question.

    For instance, with some kinds of applications, joins (in SQL) don't scale, which brings up all sorts of caching and sharding strategies.

    Beanstalk is another scalability and performance tool in high-performance PHP sites. As is memcache (different kind).

    0 讨论(0)
  • 2021-02-01 10:42
    1. Test your website under heavy load.
    2. Monitor all statistics
    3. Find bottleneck
    4. Fix bottleneck
    5. Go back to 1

    good luck

    0 讨论(0)
  • 2021-02-01 10:43

    In addition to the other suggestions, look into splitting your sites into tiers, as in multitier architecture. If done right, you can then use one server per tier.

    0 讨论(0)
  • 2021-02-01 10:44

    If you expect your site to scale beyond the capabilities of a single server you will need to plan carefully. Design so the following will be possible:-

    • Make it so your database can be on a separate server. This isn't normally too hard.
    • Ensure all your static content can be moved to a CDN, as this will normally pull a lot of load off your servers.
    • Be prepared to spend a lot of money on hardware. More RAM and faster disks help a LOT.
    • It gets a lot harder when you need to split either the database or the php from a single server to multiple servers, so optimise everything, from your code, your database schema, your server config and anything else you can think of to put this final step off for as long as possible.

    Other than that, all you can do is stress test your site, figure out where the bottlenecks are and try and design them away.

    0 讨论(0)
  • 2021-02-01 10:46

    Check out this talk by Rasmus Lerdorf (creator of PHP)

    Specially Page 8 and beyond.

    0 讨论(0)
  • 2021-02-01 10:52

    A number of people have mentioned tools for identifying bottlenecks, and that is of course necessary. You can't spend productive time speeding something up without knowing where it's slow. But the other thing you need to know is where your target scalability lies. Is it value for money to spend a couple of months making your site scale to the same number of users as Twitter if it's going to be used by three people in HR? Do you have a known rate of transactions, or response latency, or number of users, in the requirements of the product? If so, target those numbers with your optimisation strategy. If not, find those out before chasing the performance rat down the hole.

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