Что пути состоят в том, чтобы найти узкими местами в веб-приложении?

Если вы хотите проверить статус HTTP, используйте это:

<?php
$headers = get_headers($url);
if($headers !== FALSE AND $headers[0] === 'HTTP/1.0 200 OK'){
    print_r($headers);
}else{
    echo 'Error';
}

Проверьте любой статус HTTP:

<?php
$headers = get_headers($url);
if($headers !== FALSE){ // or can use "is_array($headers)"
    print_r($headers);
}else{
    echo 'Error';
}
21
задан Niyaz 5 February 2009 в 15:22
поделиться

11 ответов

Относительно узких мест на сервере приложений можно использовать профильный инструмент для наблюдения, сколько времени проведено в каждой части кода, сколько памяти используется, и т.д. Для PHP, webgrind, кажется, популярный, основанный на GUI способ представить. Что-то как dotTrace сделало бы то же самое для приложения ASP.NET. Обратите внимание, что когда дело доходит до баз данных, профильные инструменты как это только покажут Вам, какие запросы базы данных являются медленными - не, почему они являются медленными. Для этого необходимо было бы изучить определенное для базы данных профилирование...

Другой аспект узких мест веб-приложения - то, сколько времени на самом деле требуется браузер к downlad все (CSS и импорт JavaScript, изображения, и т.д.), и представьте страницу. Существует несколько компаний как Представление ведущих идей, у которых есть боты, которые поразят Ваш сайт от по всему миру, проанализировать производительность и дать Вам рекомендации об изменениях, которые можно внести для получения вывода приложения к браузеру и представленный как можно быстрее (например, "используйте gzip сжатие и поместите JavaScript в конце страницы вместо головы", и т.д.). Можно также сделать этот yourslelf в намного меньшем масштабе, конечно. Например, плагины Firefox как Миг и YSlow сделают задание.

26
ответ дан 29 November 2019 в 21:12
поделиться

Для любого веб-приложения можно попытаться использовать расширение Firebug, наряду с расширением YSlow Yahoo (к Firebug). Действительно полезный в производительности страницы. http://developer.yahoo.com/yslow/

4
ответ дан 29 November 2019 в 21:12
поделиться

Трассировка является большим запуском

3
ответ дан 29 November 2019 в 21:12
поделиться

попытайтесь использовать некоторые тестовые механизмы, такие как PHPUnit, чтобы подчеркнуть Ваше приложение и использовать Вашу оболочку для наблюдения, какой процесс занимают больше времени для разрешения.

на Unix/Linux можно использовать 'главную' команду

в Windows используют (расширенный) диспетчер задач

1
ответ дан 29 November 2019 в 21:12
поделиться

Скрипач является хорошим инструментом для учета движения и контроля. Это работает над клиентом, и Вы видите, какие запросы и ответы идут между клиентом и веб-сервером. Можно легко проанализировать медленные страницы и обнаружить причины (ко многим запросам, большой странице...)

Специально для ASP.NET, там прослеживает механизм, который может создать подробный журнал для веб-приложений. Журнал показывает информацию синхронизации, и можно найти длительные функции. (Статья MSDN: ASP.NET, Прослеживающий Обзор

2
ответ дан 29 November 2019 в 21:12
поделиться

Если Вы используете Perl затем Devel:: NYTProf является супер восхитительно.

У меня есть учебное руководство, которое я сделал несколько раз в OSCON и конференции по MySQL о "сети Реального мира: Производительность и Масштабируемость" (слайды, доступные в PDF), Вы могли бы найти это интересным.

0
ответ дан 29 November 2019 в 21:12
поделиться

Вы могли быть более конкретны относительно платформы (XP, Vista, Сервер 2000, 2003, 2008) и метод запуска приложения (IIS, служба Windows). Как упомянуто выше трассировки хорошее начало, но существуют другие инструменты в зависимости от среды, на которой настроено веб-приложение также.

0
ответ дан 29 November 2019 в 21:12
поделиться

Если Вы хотите универсальный способ найти узкие места, попытайтесь использовать контрольный инструмент HTTP. Это позволяет Вам видеть, какие типы запросов занимают больше времени, или если они возвращают сообщения об ошибках. Можно затем использовать платформу определенный профильный инструмент для обнуления в на определенных областях применения на основе данных из инструмента.

Мне нравится использовать инструмент Прокси HTTP как Charles, чтобы сделать этот тип анализа.

0
ответ дан 29 November 2019 в 21:12
поделиться

Включите функцию трассировки, trace=true, если это - веб-приложение и вставленные операторы трассировки вначале и конец Ваших методов тот огонь. Это даст Вам очень подробное считывание галочек в системе и следовательно сколько времени каждая часть берет для выполнения.

Если у Вас есть библиотека, которую называют затем, можно также сделать трассировку в ней при помощи httpcontext. Текущий. Трассировка. Запишите для вывода то, на что необходимо посмотреть. Кроме того, если Ваше приложение является действительно привередливым, можно записать собственную функцию, чтобы сохранить операторы трассировки в совместно используемой переменной и выписать ее к DB или другому механизму, после того как сценарий работал.

0
ответ дан 29 November 2019 в 21:12
поделиться

Первый шаг быстр-и-грязен. Попробуйте его на iPhone, ноутбуке с соединением 3G, ПК со спутниковым интернет-соединением и Windows Mobile КПК. Если это работает, Вы сделаны. В противном случае треугольный.

-3
ответ дан 29 November 2019 в 21:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: