Ya que preguntaste cómo las grandes empresas (generalmente) abordan esto:
Por lo general, tienen un dba (administrador de base de datos) que vive y respira la base de datos que utiliza la empresa.
Esto significa que tienen gente que sabe todo, desde cómo diseñar las tablas de manera óptima, perfilar y ajustar las consultas/índices/SO/servidor hasta saber qué revisión de firmware del controlador RAID puede causar problemas a la base de datos.
No hablas mucho sobre el tipo de ajuste que has hecho, por ejemplo,
- ¿Está utilizando tablas MyISAM o InnoDB? Su rendimiento (y no menos importante sus características) es radicalmente diferente para diferentes cargas de trabajo.
- ¿Las tablas están correctamente indexadas de acuerdo con las consultas que ejecuta?
- Ejecute EXPLAIN en todas sus consultas, lo que lo ayudará a identificar claves que podrían agregarse o eliminarse, ya sea que se seleccionen las claves adecuadas, compare consultas (SQL le ofrece muchas formas de lograr las mismas cosas)
- ¿Has ajustado la caché de consultas? Para algunas cargas de trabajo, la caché de consultas (activada de forma predeterminada) puede provocar una ralentización considerable.
- ¿Cuánta memoria tiene su caja? ¿Mysql está ajustado para aprovechar esto?
- ¿Utiliza un sistema de archivos y una configuración de redada orientada a la base de datos?
- A veces se necesita un poco de desnormalización.
- Diferentes productos de base de datos tendrán diferentes características, MySQL puede ser increíblemente rápido para algunos anuncios de trabajo y lento para otros.