Что касается узких мест на сервере приложений, вы можете использовать инструмент профилирования , чтобы увидеть, сколько времени затрачивается на каждую часть кода, сколько памяти используется и т. Д. Для PHP webgrind кажется популярным способом профилирования на основе графического интерфейса. Нечто подобное dotTrace будет делать то же самое для приложения ASP.NET. Обратите внимание, что когда дело доходит до баз данных, такие инструменты профилирования показывают только то, какие запросы к базе данных являются медленными, а не , почему они медленные. Для этого вам нужно взглянуть на профилирование базы данных ...
Другим аспектом узких мест веб-приложения является то, сколько времени на самом деле требуется браузеру для загрузки всего (импорт CSS и JavaScript, изображения и т. Д.) И рендеринга страницы. Есть несколько компаний, таких как Keynote , у которых есть боты, которые поразят ваш сайт со всего мира, проанализируют производительность и дадут вам рекомендации по изменениям, которые вы можете внести, чтобы получить выходные данные вашего приложения для браузер и визуализируется как можно быстрее (например, «используйте сжатие gzip и поместите свой JavaScript в конец страницы вместо заголовка» и т. д.). Конечно, вы также можете сделать это в гораздо меньших масштабах. Например, плагины Firefox, такие как Jiffy и YSlow , сделают эту работу.