aushosts Posted October 30, 2007 Share Posted October 30, 2007 Howdy folks, Just a general thought that popped into my head after talking with a friend about ModernBill and how slow it gets after a few thousand clients and 2-3 years worth of invoices... What do people think about WHMCS server requirements if it was managing the billing and helpdesk for say 20,000+ clients; and 5 years of invoices (about say 20-30 invoices per client per year)... Not needed yet but you never know Do people think it would start to slow down and become problematic; or is WHMCS robust to a point where the limit is simply the server specs / servers setup? I guess if your hosting 10,000+ clients in WHMCS at the moment; are you having any issues? Would you consider separate web and MySQL servers once you get to that number? What are peoples long terms thoughts on things like this? 0 Quote Link to comment Share on other sites More sharing options...
ur Posted October 30, 2007 Share Posted October 30, 2007 aushosts, I am not too sure of how many large hosts are out there using this software, however, we are in a similar situation and have purchased a license a earlier this year. In our testing, it seems like it is holding up to the strain, and have seen little issues with a large database. We are running the db on a separate server. The logs and tickets grow quickly, but we are planning to archive it every 30 days, (truncating 30 days from the WHMCS logs, leaving XX days), then building a separate interface for admins, as well as the emails sent. All in all, it seems to be fairly efficient, but have had some issues particularly with the ticket overhead. You can cron an optimization if it gets out of hand. We will not be importing any old invoices. You may want to reconsider importing your ~ 250k records if you can leave the legacy system in place for a year or so. This will save some processing time when it is doing SELECTs on tblinvoices for automated billing...although that will also depend on your server config. Hope this helps. 0 Quote Link to comment Share on other sites More sharing options...
uberhost Posted October 30, 2007 Share Posted October 30, 2007 Putting the database on another server (behind a private switch so as not to affect bw quotas) would no doubt be a great way to run the system. 0 Quote Link to comment Share on other sites More sharing options...
aushosts Posted October 30, 2007 Author Share Posted October 30, 2007 Cool - thanks. Not at this stage yet but maybe someday 0 Quote Link to comment Share on other sites More sharing options...
uberhost Posted October 30, 2007 Share Posted October 30, 2007 Cool - thanks. Not at this stage yet but maybe someday For all of us, hopefully! 0 Quote Link to comment Share on other sites More sharing options...
brianoz Posted October 31, 2007 Share Posted October 31, 2007 It should be possible for a well-written application to host that many invoices and accounts on a single server. I'm not sure what WHMCS would say about this, but I'd say it'd have a far better chance of performing well than MB. 0 Quote Link to comment Share on other sites More sharing options...
aushosts Posted October 31, 2007 Author Share Posted October 31, 2007 Having got into WHMCS's database structure I certainly agree with you. Today I basically fixed up all our customers packages so they are on streamlined packages instead of all over the place like as I was using ModernBill (it actually was 2 modernbills converted to 1 WHMCS - big mess now much better)... Will be 100% good by next month. 0 Quote Link to comment Share on other sites More sharing options...
Dominic Posted October 31, 2007 Share Posted October 31, 2007 Beyond archiving the larger things like the logs, the only thing I'd look to do when WHMCS's database grows large is check/create indexes on the tables xx,xxx and xxx,xxx rows are no problem for MySQL with a well-designed system...we host some xx,xxx,xxx-row tables on even our shared hosting servers 0 Quote Link to comment Share on other sites More sharing options...
ur Posted October 31, 2007 Share Posted October 31, 2007 @brianoz absolutely ... It seems to perform quite well under the load. @dominic ... true, right now it seems that the only indexes are on row id. Unfortunately with WHMCS you can not alter the queries, so it's kind of half the equation. You can see some/most of the queries by printing out all the user assigned variables. There seem to be few joins or complex ones (or at least that I can tell). The good news is the tables are pretty well thought out, and makes it pretty efficient... hence the good news about performance. 0 Quote Link to comment Share on other sites More sharing options...
Dominic Posted October 31, 2007 Share Posted October 31, 2007 Could turn on the MySQL query log if you wanted to dig down into it I expect - the great thing about WHMCS is that the code itself is so light, and the data structure nice and sensible. Adding indexes on common search fields would help, but really for only xx,xxx rows there's likely no huge differences if as you say there aren't that many complex queries. Heck even the reports are nice and speedy for us, even our custom ones One thing I forgot to mention earlier was any PHP execution time limits - with lots of accounts to suspend, and lots of e-mails/invoices to send, the cron might hit the default PHP limit. 0 Quote Link to comment Share on other sites More sharing options...
kris1351 Posted November 8, 2007 Share Posted November 8, 2007 We run the DB directly connected via xover to the main web server in our scenario. Puts it private and inaccessible except for certain IPs that are private. I have seen very little performance degradation like this and it could be adapted to work through a GB switch instead very easily. If you took the support off to something such as Kayako that would ease the DB use in the ticket system otherwise you might have to look into MySQL clustering at some time. 0 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.