Производительность Performance
Производительность - вид эффективности ИС, определяющий ее мощность через количество информационных услуг, обеспечиваемых системой в единицу времени.
Зачем
Одна из архитектурных характеристик, атрибутов качества ИС.
- Ключевая метафора для понимания производительности - это конвейер задач. Которые прокачиваются через трубу.
- Количество и последовательность задач в конвейере определяются требованиями заказчика и техническими решениями программиста.
- Пропускная способность трубы определяется ее шириной (Bandwitch) и длиной(Latency). Которые в свою очередь определены лежащим в фундаменте системы Hardware/Software.
- Пропускная способность системы в целом определяется тем, сколько задач можно прокачать через трубу в единицу времени. - Здесь важны “ширина” (объем используемого CPU/RAM/IO) и “длина” (продолжительность выполнения) задач.
- Производительность может быть повышена следующими способами:
- Сокращением “длины” и/или “ширины” задач
- Выполнением задач параллельно, ЕСЛИ в “трубе” есть для этого место.
- Исключением задач из конвейера - выполнением их асинхронно
Веб-приложения
- Latency
- тайминг логировать
- на клиенте
- Yslow, page speed chrome
- на веб сервере
- The Time-Taken - field shows the length of time that it takes for a request to be processed and its response to be sent.
- This value gets calculated by a timer that gets initialized when the IIS server receives the first byte of an HTTP request, and stopped when the last IIS response send operation completes.
- It is important to note that the Time-Taken field usually includes the time that the request and response packets are travelling over the network.
- The Time-Taken - field shows the length of time that it takes for a request to be processed and its response to be sent.
- на клиенте
- network speed??
- тайминг логировать
- Errors
- HTTP Error 503.2 — Service Unavailable в логах IIS есть - очередь запросов
- WIN32_ERROR_DESCRIPTION(sc-win32-status) as Description, TO_LOCALTIME
- http-status-code
- long time-taken and win32 status code = 64
- is connection is already lost? common by proxies, to not have too many socket connections?
- Traffic
- DOS attack “slow post”
- выявить источник и тип трафика, а также точки входа на сайт или скрипты, которые вызываются чаще всего. Причины высокой нагрузки в результатах анализа следует посмотреть:
- TOP 20 запросов методом POST
- TOP 20 запросов методом GET/HEAD
- TOP 20 IP адресов по числу хитов
- TOP 20 ссылающихся страниц по числу хитов
Диагностика Troubleshooting
Инструменты
- Нагрузочное тестирование
- Observability
Метрики
Требования пример
- какой объем памяти выделен будет на работу приложения на хостинге?
- какой объем памяти допустимо использовать на ПК клиента для отображения отчета (максимум как мы понимаем 1ГБ- память на работу ОС XP, т.е. около 800Мб)?
- какая макс скорость канала будет от ПК пользователя до веб-сервера?
- какое время ожидания отчета в принципе допустимо для “очень большого отчета”? предлагаю определиться именно с параметрами “очень большого отчета”
- Здесь необходимо сначала дать определения большого и не большого отчета, а то слишком субъективные оценки.
- Обычный Текстовый 150 строк * 12 столбцов 12 сек.
- Большой Текстовый отчет за 3 года не более 2 мин. (ориентировочно 20000 строк*15 столбцов)
- Обычный Числовой/Графический 1 минута 3-4 группировки 200 строк * 100 столбоцов
- Максимальный Числовой/Графический максимальная скорость построения отчета – 2 минуты.