Hey Sarthak,
>> 1. What is the best practice for managing connection pooling in MySQL when dealing with these sudden, massive spikes in API traffic?
Depending on the MySQL Connector you are using, some of them have the connection pool feature, for example, the Connector/J:
https://dev.mysql.com/doc/connector-j/en/connector-j-usagenotes-j2ee-concepts-connection-pooling.html
You can also use some middleware software like MySQL router or ProxySQL for the connection pooling:
https://dev.mysql.com/doc/mysql-router/8.0/en/mysql-router-general-features-connection-sharing.html
https://proxysql.com/documentation/detailed-answers-on-faq/
>> 2. Are there specific InnoDB settings (like `innodb_buffer_pool_size` or `innodb_flush_log_at_trx_commit`) that I should tweak to prioritize write speed and reduce database-level locking/latency?
>> 3. Is it standard practice to queue these API insertions externally (using something like Redis) before writing to MySQL, or can MySQL handle the raw concurrency if tuned correctly?
Yes, those two are good options, usually set with something like:
innodb_buffer_pool_size = 75% of the server's total RAM, if using the server only for MySQL
https://www.percona.com/blog/80-ram-tune-innodb_buffer_pool_size/
Set the good redo log size to usually 1 hour of writing:
https://www.percona.com/blog/how-to-calculate-a-good-mysql-redo-log-size-in-mysql-8/
I would recommend taking a look at the following blog posts, which explain further on more tuning variables:
https://percona.community/blog/2026/02/01/tuning-mysql-for-performance-the-variables-that-actually-matter/
https://www.percona.com/blog/10-mysql-performance-tuning-settings-after-installation/
https://www.percona.com/blog/tuning-mysql-innodb-flushing-for-a-write-intensive-workload/
Cheers,
Roberto de Bem