Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

We are designing a website/web application where we hope to to achieve high user

ID: 650902 • Letter: W

Question

We are designing a website/web application where we hope to to achieve high user counts and, in general, lots of use. More specifically, we intend to be using PHP as the programming/scripting language and MySQL for the relational DB needs as a start. We have not yet figured out whether to use a NoSQL database or not.

Related to that, we want to design with scalability in mind. What are the most common scalability pitfalls for websites? What are the key areas that we need to take into consideration, so that the system can be easily scalable?

Explanation / Answer

I would add to that one very common thing - optimizing in the wrong place. I have seen tons of articles around that discuss nanosecond differences in PHP syntax constructs but much less that discuss how to properly design caching infrastructure for an application. So as it was already noted, test. But not just test - profile and find out what exactly is slow - is it CPU-bound? I/O bound? Memory bound? Is it database queries that bring you down, is it reading the files, is it calculations? Can you eliminate that or redo it so it works faster? Etc. Do not start with "let's use NoSQL because it's faster". Start with "we want to do this and that, what would be the bottlenecks? How we eliminate them? How it would behave if we get times 100 users?" Without knowing more of the workload and app it's hard to say anything concrete, but I would start with thinking what you can cache and how to reduce filesystem/database/etc. accesses and especially modifications (since those would also invalidate the caches).

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Chat Now And Get Quote