%3Fxml version="1.0" encoding="UTF-8"%3F>
Cool, huh?
viagra online generic
If you prefer not to do anything yourself, and want to keep it as simple as possible, then a backup component from the JED is the way to go:
I have only used one of those components before, and I found that there were a few bugs needing to be worked out, and it ended up taking more time to do the backup, move, and clone that I needed to do than when I did so manually.
viagra online generic
There are shortcuts you can take here depending on your environment. For instance, you never need to create archives at all, as you can pipe the mysqldump output directly to another mysql command (with the new database's credentials). However, I prefer to use archives and solid files especially when using PHP-based method, because you could end up accidentaly accessing the cloner file and wiping an existing MySQL database (if you aren't careful). So, on top of all this, I'd recommend removing the update-me and copy-me files after using them.
]]>We all know backups are important. I’ve found what I consider a pretty good backup solution using Amazon S3. It’s super cheap, your backups are in a secure location, and you can get to them from anywhere. For my backup solution, I’m using Debian Linux (Etch), but this whole setup is not dependent on your current favorite flavor of Linux because it uses Java.
That’s it. Good luck!
]]>viagra online genericHaving written this blog post almost a full year ago, I have since then completely switched all of my Joomla websites to the automatically : Scale My Site. Since doing so, we haven’t had to deal with HAProxy, load balancing, or anything with regard to scaling due to the hosting cloud’s seamlessly clustered environment. I highly recommend anyone reading this article right now to check out to get load balancing/scaling for your Joomla website without breaking a sweat.
The load balancer is located at our own colo. I followed the tutorial on to set up two servers at our colo in an ActivePassive fashion using Heartbeat for redundancy.
viagra online generic
Since I’m using only two web servers and one needs to serve database requests, I decided to set weights in HAProxy so that the hybrid server receives half as many requests as the dedicated web server. Here is an example of what my haproxy.cfg file contains:
viagra online generic
global
log 127.0.0.1 local0
log 127.0.0.1 local1 notice
maxconn 4096
user haproxy
group haproxy
defaults
log global
mode http
option httplog
option dontlognull
retries 3
redispatch
maxconn 2000
contimeout 5000
clitimeout 50000
srvtimeout 50000
listen webfarm 63.123.123.100:80
mode http
balance roundrobin
cookie SERVERID insert nocache indirect
option forwardfor
option httpchk HEAD /check.txt HTTP/1.0
# Stats
stats enable
stats auth admin:password
# Web Node
server SBNode1 63.123.123.101:80 cookie Server1 weight 20 check
# Web + MySQL Node
server SBNode2 63.123.123.102:80 cookie Server2 weight 10 check
viagra online generic
Many people understand that it’s a super big pain to work with the administrator control panel in a Joomla clustered environment. First of all, you’ll keep getting kicked out every few page requests, even while using sticky/persistent load balancing. Second, working with backend WYSIWYG rich-text editors is nearly impossible. I figured out how to do it, and here’s what I did.
Using the current host as the live site allows you to use node1.yourdomain.com as an access point for the control panel. You viagra online genericwork in the control panel without doing this, but you will run into tons of problems with rich-text editors and custom components that request the live site URL in their underlying code.
viagra online generic Recently, I implemented a load balancing solution using HAProxy that used the ACL system to send all traffic with /administrator/ in the URL to one “master” node, and it provided a way around the Joomla configuration change mentioned above. Check out this for more info.
]]>…or so we thought.
We moved our most important project of the day from it’s ol’ reliable hosting to the Dreamhost hosting (because that’s where we had been developing the new website). The new site looked amazing, and up to that point all testing had returned positive results.
The evening of the first day after moving to Dreamhost, I get a call around 10 PM about the site being down. Investigating, I found out that our MySQL database was being hosed. I open a ticket with the company (the only way to contact them), expressing the urgency of the issue, and asked that a tech investigate what was happening to our database.
A short time later, with no word from support, our database clears up. Sweet! We’re back in business. In about 6 hours, we receive a response from a Dreamhost tech, and he mentions that they don’t see the issue, but offered a helpful suggestion with a few MySQL commands: show processlist -and- kill <processid>. I think to myself, “Cool! If this happens again, I’ll have the tools to fix it.” With this strange event behind us, I put faith in them again. I even convinced the CEO that we have the tools to fix the problem if it happens again, which was entirely true, and that we didn’t need to look elsewhere for another hosting company.
Big mistake.
Two days later, we receive a support message from a different tech – a complete polar opposite of the last guy that helped us out. Here is what he said:
Hello,
I was investigating the high load on your MySQL server when I discovered
that your sql user was running the following query more than 100
times on the website database (here’s the beginning of that command):select u.id, u.name, c.avatar, c.showOnline from jos_users u,jos_fb_users
c where u.id = c.userid ANIn consideration of the other customers using that server I have disabled
SELECT privileges for your database user. This has dropped the load on
your MySQL server from 180 down to around 15. Please optimize
your sites to run those queries much less frequently. Let me know if you
have any questions.Thanks!
Craig
Awesome! I had been up until 3 AM that morning working on non-related stuff at home, and this guy decides to throw this at us at 6:45 AM on Saturday morning. The calls/emails start swarming in, and I’m up trying to figure out why the hell the site went down again. Disable SELECT permission on our main SQL user? Are you kidding?
Being the obstinate users that we are who like to be able to read data from their database, we re-enable SELECT permission for our main user. At the same time, I activated the built-in Joomla caching feature, bringing the load down to a minimum. Then I also removed code with the Joomla core that prevents browser-side caching, further improving the performance of our website. Take that! The website moves faster than ever!
Exactly one day later, we receive yet another message from our friendly neighborhood Dreamhost technicians saying that they have renamed our index.php file to index.php.Disabled_by_Dreamhost, citing too many connections on that specific file (Joomla is run off the main index.php file — go figure), and then “suggested” that we should look into Dreamhost Private Server. The kicker is that we already contacted them about DreamhostPS earlier, but were rejected because it’s invite only, and was still in the development phase. Whatever.
So the day this happened was a Monday, and I was supposed to have a day off because of overnight maintenance that needed to be done Monday evening/Tuesday morning. So I get the call that Dreamhost did this at around 9 AM, and so at that point we decide the screw Dreamhost and move. We move it back to a server in-house while we acquire a dedicated server elsewhere, and I spent most of my day off moving the website once more.
Happily, we now have a super fast dedicated server far away from the mingling hands of the Dreamhost techs.
With all this being said, I wanted to make some public apologies:
- I apologize to Dreamhost for putting a website on your servers that needed to use one of our unlimited number of databases.
- I apologize to Dreamhost for renaming index.php.Disabled_by_Dreamhost to index.php because our website was down.
- I apologize to Dreamhost for using an instance of Joomla byway of their built-in ONE CLICK INSTALL.
- I apologize to my company for ever considering using them for a website that has any interest in being nothing more than a stick in the mud.
I will admit that we had a lot of users, and that Joomla isn’t the most efficient engine out there, but the way Dreamhost handled the situation was very unprofessional, and we’ll be closing our account with them soon.
On the other hand, if you have a bunch of websites that don’t get any traffic, but need a place for all your domains, DH isn’t bad. I have my own account with them, and so far the 2 or 3 people that visit those websites on my account, haven’t had to deal with any down time. I’ll just have to make sure to move before any of them become popular…
]]>