Over the course of seven years we used four different CRM solutions. Finally we settled on a fifth, SugarCRM, that, three years in, still seems to be the best solution.
But – it has often been trying. SugarCRM is easy to customize, but easy to break as well. Especially if you are using an on-premise SugarCRM deployment.
I've found some good resources and learned some things (including a great trick – using a free CloudFlare account to almost double the performance of SugarCRM) along the way. As much of it as possible ends up here, in the hopes it might help other on-premise users.