3 ms·
Let me look closely at your checklist 1. Memory: We have 2 GB and "free -m" shows that more than 200MB (least) is free at any given time. Do I still need to ad
by digamber_kamat 16y ago
Let me look closely at your checklist
1. Memory: We have 2 GB and "free -m" shows that more than 200MB (least) is free at any given time. Do I still need to add more memory?
2. Our site scores perfect A on Yslow. So minification , gzip, far future headers etc is in place.
3. We have improved out DB structure a lot. Since we are adding more features continuously we are constantly changing the DB structure. With the help of some more experienced programmers I will get these things tweaked. But in MySQL okay if our user base will hit 1 Lakh in next three months ?
4. CPU profiling is something that we haven't done yet. Will do this asap. Can you suggest some resources starting points ?
You also said something about load balancers. Will you please give me some resources to start up with ( I know I can google but ...) ?
5. Fail-over is something that I did not think of initially. What are the best tools around ?for the same ?
The whole discussion might sound as if I want you guys to spoon feed me. But that is not the case. Let us look at the whole questions as an opportunity to share each others views on the same topic, even the experts might get to learn new things.
- sagacity 16y ago> But in MySQL okay if our user base will hit 1 Lakh in next three months ? I doubt if many here will understand what is 1 Lakh. Better make it 100,000. :-) (BTW, where do you live?)
- digamber_kamat 16y agoI live in Mumbai, India :)
- aonic 16y ago4. Instead of CPU profiling at a lower level, I'd suggest enabling profiling in xdebug for a debugging account and hit the pages and look for what pages took the longest to render (server side). Then examine the xdebug profiling logs for those pages to see what php calls took the longest, if youre calling MySQL through PHP functions this will also show you the slowest queries. You should also enable slow query logged in MySQL. I suggest anything taking more than 50ms 5. For a quick, easy, simple setup, assuming you're using Apache for your web server(s), setup another server running nginx and then use proxy_pass to load balance traffic between multiple web servers. Example: https://gist.github.com/2f4118028ed04c40862e https://gist.github.com/2f4118028ed04c40862e I suggest doing more reading on nginx load balancing and PHP xdebug profiling