Things you can do 27 •Optimize where your real bottleneck is •Cache more things •Speed up your database usage •Denormalize your database •Execute less code •Speed up your code
Execute less code 29 •Each time your workers are executing your code they are not able to attend new requests •Move everything not essential to background tasks, specially I/O bound jobs •Watch your timeouts
Database 30 •Relational databases are “almost” never the problem •Check your slowlog (create indexes) •Optimize slow or recurrent queries •Use read replicas (careful with replication lag)
Database contingency 34 •Wrapping everything in a transaction is not cost effective •Deadlocks are tricky to spot •Caching data in this situation can be counter-productive
Find more about us 37 http://www.infoq.com/articles/monolith-to-multilith https://speakerdeck.com/ticketeaeng https://twitter.com/ticketeaeng http://engineering.ticketea.com