Welcome Guest, Not a member yet? Register   Sign In
What's the right path to go a head with CI to build very large micro blogging site ?
#1

[eluser]Unknown[/eluser]
Hi guys,

from last 5 hours i'm searching for a best php framework solution for my upcoming project and my developer suggested me CI and i would like to go with CI.

Actually, i have used socialengine.net for my old project .. but it sucks with large user base ... it got half million users but the site loading speed is worst and it's almost dead now ...

this time, i want to go with a framework, not a CMS ...

My site should be able to handle millions of users ... what are the best precautions i should take before i proceed with CI ?

What is the right path to go a head ? Is there any precautions i need to follow to handle very large traffic ? What's your tips on load balancing ?

1) Site will have millions of users.
2) Site will get atleast 100k uniue visitors daily.
3) sit will get 15k new registrations
4) As site is a micro blogging site, site will get atleast 500k posts and comments everyday.

Site should be very speed in terms of loading and responding to search queries. Site should be easily able to load balancing in servers.

Site will be totally database driven and database usage will be very heavy ... so plz input your views on building a twitter type micro blogging site in CI and how to scale a very large website with CI ... is there any spl precautions i should take from scratch ?

What are the things i should take care before starting?
What are best practises with memcache and APC or xcache?

-thanks and plz welcome me with your best useful answers to our CI community :-)
#2

[eluser]Jondolar[/eluser]
Spend 50% of your time modeling your data and optimizing your queries and coming up with a caching scenario for your pages (okay, maybe not 50%, but a lot). If your database design and your model approach is flawed, it will have a tremendous impact. Make sure you use the right patterns to access the data needed. Evaluate what can be cached (data, pages, etc.) and make sure you have a page and/or data caching scenario to reduce the number of database calls. Do you need every post and comment immediately displayed or can you withstand a 5 minute delay. Depending on your site usage, caching pages for even 5 minutes can save significant database trips. There are other optimization tricks such as storing the number of comments in the original post vs calculating on every page load. Also, don't use a templating engine, put php calls right in your view files to display data.

For load balancing, you can easily have two or more web servers accessing the same database. You'll split the server load but you'll end up duplicating any caching files (unless you have a shared file store for that). Load balancing of a database is definitely more difficult. Look into Oracle RAC as probably the most advanced platform for doing that.

From a framework standpoint, CI is one of the fastest.

Good luck with your project.
#3

[eluser]Unknown[/eluser]
Thanks a lot for your suggestions Jondolar ...

All posts and comments should be displayed in a 30 to 60 seconds time gap. If it takes 5 minutes, site may lack fresh feel. Please input your views on this.

What do you think on using memcache for mysql queries ? and data ?

More suggestions appreciated.
#4

[eluser]gyo[/eluser]
A cloud hosting can help too. Since they are easy to scale you can add more resource (computing or just disk space), and improve the performance of your application without too many headaches.

What Jondolar suggested is the first step tho.




Theme © iAndrew 2016 - Forum software by © MyBB