En cuanto a los cuellos de botella en el servidor de aplicaciones, puede usar un profiling tool para ver cuánto tiempo se usa en cada parte del código, cuánta memoria se usa, etc. Para PHP, webgrind parece ser una GUI popular forma de perfil basada en Algo como dotTrace haría lo mismo para una aplicación ASP.NET. Tenga en cuenta que cuando se trata de bases de datos, las herramientas de creación de perfiles como esta solo le mostrarán qué consultas de bases de datos son lentas, no por qué son lentas. Para eso, necesitaría buscar perfiles específicos de la base de datos ...
Otro aspecto de los cuellos de botella de la aplicación web es cuánto tiempo demora un navegador en descargar todo (importaciones de CSS y JavaScript, imágenes, etc.) y renderiza la página. Hay varias compañías como Keynote que tienen robots que llegarán a su sitio de todo el mundo, analizan el rendimiento y le dan recomendaciones sobre los cambios que puede realizar para obtener el resultado de su aplicación en el navegador y procesar lo más rápido posible (por ejemplo, "use compresión gzip y ponga su JavaScript al final de la página en lugar de la cabecera", etc.). También puede hacerlo usted mismo en una escala mucho más pequeña, por supuesto. Por ejemplo, los complementos de Firefox como Jiffy y YSlow harán el trabajo.
del lado del cliente sin embargo, no ayuda con los problemas en sentido ascendente – annakata