Sometimes depending on the client preferences and availability of more hardware, we find ourselves in the need to be able to squeeze the best available performance out from a server. In this case, I would like to discuss with anyone who has the same experience about all the small "Vicidial hacks" that they know about and can bring better perfomance.
These are the ones that come from the top of my head (all of these are just improvements at software level):
1. If you use Sangoma with hardware echo cancellation, install with the --dahdi-chunk=40. This will being down the amount of interrupts the cards need to communicate with the motherboard, thus lowering the load. More info available on Sangoma´s white paper.
2. Use MariaDB instead of MySQL. There are several speed improvements and the engines are compatible, so there´s no need to change any config or libraries. Source
3. Use IAX2 protocol for agents and trunks instead of SIP. IAX2 has lower overhead than SIP, and if you use the trunk=yes between servers setting you can save several cycles of processing (less packets per second is better overall).
4. Use Asterisk 1.8, as it has better performance that 1.4.
5. Always use the most recent version of Vicidial, since its being enhanced continuously (not only in terms of features, but performance wise).
6. Use the archive script (ADMIN_archive_log_tables.pl) if you don't need old call logs in the system, less rows in the tables == faster queries.
Do any of you guys know any other trick I could add to this list?