Archhure for a large data driven website

I know how to create small websites with data, but I want to get an idea of ​​how to convert them to handle a large data stream.

The questions are based on a site that will act mainly as a stack overflow, craigslist, etc., where people can publish material, while others can answer and will have basic tag-based search capabilities.

  • Are regular relational databases such as SQL Server, Oracle, etc. strong enough to support a lot of reading and writing data?

  • If I have a site hosted on a dedicated server, how much traffic can I expect from it?

  • Are there any general design rules or problems that need to be considered when creating medium to large tier applications?

+4
source share
4 answers
  • With a good caching strategy and well-written SQL statements, any DBMS should be sufficient.

  • The short answer depends on . There is a good discussion on this topic here .

  • I suggest you start by reviewing this post . Just by following the basic coding rules, you can make your code more scalable.

+4
source
  • Yes, but write your requests wisely and use caching.
  • Depending on the hardware, OS, and web server.
  • Check out the three-tier architecture .
+2
source

Re # 2: use Siege or any appropriate tool for web testing - Apache ab, perfmon and shell scripts, no matter what, pull them out of the server and report them (Siege acts a bit more like real users, I really recommend it). You can get some real indicators of what your server can handle before it drowns in real life: requests per second, concurrent users, response time, bandwidth usage, etc.

Of course, this will not help when you are only at the design stage. In this case, install several OSS web applications with similar concepts and hammer them first. This will only be a rough estimate, since there are so many variables, but still better than pulling numbers from the air.

+1
source

Well, two other people have already beaten me up to caching and SQL advice. Another thing I would recommend is to use AJAX and client-side validation to reduce the number of full page loads and server-side postbacks.

0
source

All Articles