3 ms·
"An application that frequently times out (page loads over 30 seconds) to me is a good candidate for a NoSQL backend" -Why? What tells you that the application
by ironchef 15y ago
"An application that frequently times out (page loads over 30 seconds) to me is a good candidate for a NoSQL backend"
-Why? What tells you that the application is spending most of its time waiting on the database? If it's spending a lot of time waiting on the relational database, I would suggest it's a good candidate for:
1) query optimization (as you start to surmise with your N+1 observation)
2) possibly better disk IO
3) possibly a different db architecture
- reedlaw 15y agoWe have New Relic installed. MySQL is not the only bottleneck, but it's a big one. Ruby code is another. New Relic can't show us how much Ruby execution time is ActiveRecord and how much is our application code, but we recently upgraded from Rails 2.3 to 3 and noticed some decrease in speed. We have been implementing memcached and optimizing queries with pure SQL but still have a long way to go to get decent performance. Most of the slow pages are back end admin stuff, so it's not absolutely critical, but nevertheless it's left me with a bad impression of the traditional stack.
- arethuza 15y agoBut that sounds like a problem with the application, not the stack. What makes you think that document oriented databases are any more immune to bad application design than relational databases?
- reedlaw 15y agoI believe it's a combination of application and stack that's the problem. I've been comparing Rails 3 apps to similar apps in other frameworks. Locomotive is a Rails CMS and it was taking ~1 second per page load. Calypso is a CMS in Node.js and page loads were nearly instant. Both used Mongodb. Locomotive sped up when 4 unicorn workers were applied, but it still didn't match Node.js.