tanktools · PyPI
Яндекс-танк готовит phout файл со статистикой после нагрузочного тестирования. Модуль tanktools помогает парсить такие файлы и конвертировать в DataFrame. Вы можете использовать модуль pandas в ручном режиме для обработки DataFrame. или использовать встроенные функции.
Генерировать боеприпасы Яндекс-танка из файлов pcap или har с помощью pcap2ammo или har2ammo сумы. HTTP-запросы извлекаются полностью с заголовками и телом.
Так что можно:
расчет квантилей
получить информацию о тайминге, задержке, кодах состояния
извлекать запросы по отметке времени, тегу и другим столбцам
группировать и анализировать конкретные данные, такие как общий/частичный RPS, средний размер запроса/ответа
расчет статистических показателей
преобразовать файл pcap в боеприпасы
преобразовать файл har в боеприпасы
фильтровать и модифицировать запросы на генерацию боеприпасов
Установка
pip install tanktools
Примеры
Выберите DataFrame по метке времени
Возможен разбор части статистики по времени и общему количеству
от Tanktools Import Phout флаги = { 'from_date': '2018-01-18 20:09:50. 123', 'to_date' : '2018-01-18 20:10:00.456', «лимит»: 100 } данные = phout.parse_phout('phout.log', флаги) print("Общее количество: %d" % phout.size(data))
Общее количество: 100
Печать процентилей
данные = phout.parse_phout('phout.log') phout.print_quantiles(данные, 'receive_time')
процентили для 150030 запросов от 18-01-2018 20:09:42.983 до 2018-01-18 20:10:55.108: квантиль (%) Время_приема (мкс) 10,0 9 20,0 9 30,0 10 40,0 10 50,0 10 60,0 10 70,0 11 80,0 12 90,0 13 95,0 14 98,0 16 99,0 17 100,0 716
Примечание
Обратите внимание, тайминги исчисляются в микросекундах.
Медиана задержки печати
данные = phout.parse_phout('phout.log') # Преобразование и печать времени в миллисекундах print("\n\nМедиана задержки: %d мс" % int(data.latency.median() / 1000))
Медиана задержки: 30 мс
Получить RPS
данные = phout. parse_phout('phout.log') rps = phout.get_rps(данные)
Распечатать статистику ответов HTTP
данные = phout.parse_phout('phout.log') phout.print_http_responses(данные)
Количество HTTP-кодов в процентах (%) 500 83429 56,38 200 61558 41,60 502 2944 1,99 0 41 0,03
Выберите 200 ответов OK и распечатайте медиану задержки
данные = phout.parse_phout('phout.log') selected_http_responses = данные [data.proto_code == 200] print("Средняя задержка для 200 OK: %d" % selected_http_responses.latency.median())
Медиана задержки для 200 OK: 3539
Распечатать средний размер запроса/ответа
print("Средний запрос/ответ: %d / %d байт" % ( data.size_in.astype(float).mean(), data.size_out.astype(float).mean() ))
Ср. Запрос/Ответ: 364/26697 байт
Примечание
Обратите внимание, для корректной работы функции среднего необходимо преобразовать данные в число с плавающей запятой
Печать RPS по N-му запросу
print("RPS по запросу:") chunk_size = int (phout. size (данные) / 2) для начала в диапазоне (0, phout.size (данные), chunk_size): data_subset = phout.subset (данные, начало, размер блока) print("\t%s: %.2f" % (начало + chunk_size, phout.get_rps(data_subset)))
RPS по запросу: 73986: 2062,50 147972: 2530,56
pcap2ammo
Преобразовать файл pcap в боеприпасы Яндекс-танка
файл pcap2ammo.pcap
73 ПОЛУЧИТЬ https://rambler.ru/ HTTP/1.1\r\n Хост: rambler.ru\r\n Длина содержимого: 0\r\n\r\n
Подсчет статистики по HTTP-запросам
pcap2ammo -S файл.pcap Статистика: всего: 1 полный: 1 неверно: 0 неполный: 0
Печать в файл
pcap2ammo -o out.ammo file.pcap
Фильтр пакетов TCP/IP
pcap2ammo -f 'ip.src==10.10.10.10 и tcp.dport==8080' file.pcap
Фильтр HTTP-пакетов
pcap2ammo -F '"rambler.ru" в файле http.uri.pcap
Вы можете использовать логические выражения в фильтрах
pcap2ammo -F '"keep-alive" в http. headers["connection"] или "Keep-alive" в http.headers["connection"]' file.pcap
Строковые функции через заголовки HTTP
pcap2ammo -F '"keep-alive" в http.headers["connection"].lower()' file.pcap
Использовать также без фильтров
pcap2ammo -F '"rambler.ru" != http.headers["хост"]' файл.pcap
хар2аммо
Преобразовать файл pcap в боеприпасы Яндекс-танка
файл har2ammo.har
73 ПОЛУЧИТЬ https://rambler.ru/ HTTP/1.1\r\n Хост: rambler.ru\r\n Длина содержимого: 0\r\n\r\n
Подсчет статистики по HTTP-запросам
har2ammo -S файл.har Статистика: всего: 1 полный: 1 неверно: 0 неполный: 0
Печать в файл
har2ammo -o out.ammo file.har
Фильтр HTTP-пакетов
har2ammo -F '"rambler.ru" в http.uri' файл.har
Вы можете использовать логические выражения и функции Python в фильтрах
har2ammo -F '"keep-alive" в http. headers["connection"] или "Keep-alive" в http.headers["connection"]' file.har har2ammo -F '"keep-alive" не в http.headers["connection"].lower()' file.har
Подробнее о фильтрах смотрите в описании пакета pcaper.
Анализ запросов Яндекса Марии Рубцовой, Олега Павенкова :: SSRN
Proceedings of the Feminist Art Conference 2017: Embodied Resistance, Toronto, ON, 21 января 2017
Опубликовано: 26 сентября 2017 г.
Смотреть все статьи Марии Рубцовой
Северо-Западный институт управления-филиал РАНХиГС
Российская академия народного хозяйства и государственной службы при Президенте Российской Федерации (РАНХиГС) — Московский кампус
Дата написания: 24 сентября 2017 г.
Реферат
Статья посвящена анализу дискриминации женщин-политиков в современной России. Для этого мы провели анализ запросов Яндекса о женщинах-политиках. Мы использовали доступную информацию в статистике Яндекса, которая позволяет сформулировать гипотезу о дискриминации женщин-политиков как объектов сексуального удовлетворения. СМИ опираются на запросы населения. Самый простой способ найти статистические запросы населения — это проанализировать статистику Яндекса. Однако мы получим информацию только о людях, которые пользуются Интернетом. Структура запросов фотографий женщин-политиков в Интернете отличается от запросов мужчин-политиков.
С помощью системы Яндекс мы сравнили поиск фотографий Дмитрия Медведева (премьер-министр, второе лицо в государстве) и Валентины Матвиенко (глава Совета Федерации, третье лицо в государстве) в период с февраля 2016 по февраль 2017 года. Мы видим сопоставимый интерес и его динамику. 31 617 запросов «фото Медведева» и 25 788 запросов «фото Матвиенко». Но структура этих запросов принципиально иная. Запросы о женщинах-политиках содержат много запросов со словами «голая», «порно» и т. д. Например, сравним запросы «голая Валентина Матвиенко» и «голый Дмитрий Медведев». 0,9% изображений Медведева 12,4% изображений, которые Матвиенко запрашивает, содержат слово «голая». 21,72% запросов на фото Матвиенко имеют различные вариации, связанные с сексуально-телесным представлением, и только 1,44% запросов на фото Медведева содержат такие смыслы.