Hi, As we've gotten more and more Drupal sites and traffic to them, I think the main issue here is performance, and that's based on being able to have tables loaded in RAM.
You can tune MySQL to adjust the number of files and tables it opens before hitting a limit and clearing the older ones out of RAM. Given the database-intensive demands of a typical Drupal site, having to hit the disk for database calls can be a huge performance hit -- and having thousands of open tables, beyond what you can cache in RAM, makes this happen much more often. Since RAM is many times faster than the disk, if you're hitting the disk a lot, you're going to end up with processes waiting on IO before they can respond, and since PHP is process-based, not multi-threaded, this ties up a web server process so it can't handle another request. So yes, having thousands of tables does have an impact on IO and load, though it's not much of a CPU hit. We're starting to look at No-SQL options, and they all rely on de-normalizing the data. When that happens, node_load might be much faster to do, since you can hit essentially a cached version of the node, rather than querying individual tables... You definitely need to manage your own server if you're doing lots of Drupal work. And you're probably going to want a dedicated database server at some point, loaded with RAM, to keep performance up. When you outgrow that, that's when the no-sql options start kicking in ;-) Cheers, -- John Locke Manager, Freelock Computing The Open Source for Business Solutions Follow me on Twitter: http://twitter.com/freelock http://www.freelock.com [email protected] 206-577-0540 x20 [email protected] wrote: > Here is the response from the hoster regarding my claim that the number of > tables is a mip (meaningless indicator of performance) > > MySQL performance on the server is not solely tied to transactions, and this > is not a MIP. Our R&D department has shown time, and time again with > extensive research on the issue that performance and server stability > drastically improves when accounts are under 1000 tables. The affects of the > limit are not just seen with the speed/performance of MySQL transactions, but > it also has affects on server IO and CPU usage. > Ayen Designs - quality software the first time, every time! > > !DSPAM:4d01649f186229183765356! >
