Я изучаю, почему вода работает быстро.
Когда я читаю ppt или читаю git «прочитай меня», он говорит «быстро», потому что это «В отличие от большинства парсеров, он не имеет состояния и не выделяет память сам по себе. Все, что он делает, это принимает указатель на буфер и структуру вывода, а также настройки. указатели в последнем должны указывать на необходимые части буфера ".
Я не понимаю, что это значит. Буду признателен, если подробно объясните.
Буду очень признателен, если вы дадите мне знать.
Команда - siege -v -d1 -c250 -i -f siege.txt
Транзакции: 12766 просмотров
Доступность: 99,86%
Затраченное время: 35,62 сек.
Передано данных: 580,61 МБ
Время отклика: 0,67 сек.
Скорость транзакции: 358,39 транзакций / сек.
Пропускная способность: 16,30 МБ / с
Параллелизм: 240.01
Успешных транзакций: 12766
Неудачные транзакции: 18
Самая длинная транзакция: 4,64
Самая короткая транзакция: 0,00
Транзакции: 9909 просмотров
Доступность: 99,77%
Затраченное время: 34,35 сек.
Передано данных: 455,19 МБ
Время отклика: 0,84 сек.
Скорость транзакции: 288,47 транзакций / сек.
Пропускная способность: 13,25 МБ / с
Параллельность: 242,80
Успешных сделок: 9905
Неудачные транзакции: 23
Самая длинная транзакция: 8,84
Самая короткая транзакция: 0,00
Транзакции: 12145 просмотров
Доступность: 99,44%
Затраченное время: 35,07 сек.
Передано данных: 635,66 МБ
Время отклика: 0,69 сек.
Скорость транзакции: 346,31 транзакций / сек.
Пропускная способность: 18,13 МБ / с
Параллельность: 239,72
Успешных сделок: 11813
Неудачные транзакции: 69
Самая длинная транзакция: 1,97
Самая короткая транзакция: 0,00
Когда я читаю ppt или читаю git «прочитай меня», он говорит «быстро», потому что это «В отличие от большинства парсеров, он не имеет состояния и не выделяет память сам по себе. Все, что он делает, это принимает указатель на буфер и структуру вывода, а также настройки. указатели в последнем должны указывать на необходимые части буфера ".
Я не понимаю, что это значит. Буду признателен, если подробно объясните.
Это означает, что когда H2O получает запрос, сам анализатор HTTP не выделяет никакой памяти, кроме той, которая необходима для получения запроса. Парсер HTTP / 1, который использует H2O, - picohttpparser, у него есть собственный репозиторий: https://github.com/h2o/picohttpparser . Источник достаточно мал, и в нем есть небольшие тесты https://github.com/h2o/picohttpparser/blob/master/test.c , демонстрирующие его использование.
@sudarsha Это результаты HTTP / 2?
@ xm74 кажется, что нет, потому что _siege_ еще не поддерживает HTTP / 2.
Осада этого не поддерживает. h2load есть, но мне не пришлось его настраивать.
@deweerdt
Благодаря этому у меня появилась возможность понять немного больше.
Большое тебе спасибо.
У меня вопрос.
Я знаю, что «пикопарсер» выполняет парсинг HTTP-сообщений.
Есть магазин?
В ppt он называется буфером. Какой буфер является буфером?
Это буфер на веб-сервере? Это буфер в пикопарсере?
А «без гражданства» означает скорость?
Пожалуйста, объясните подробно.
Мне не хватает английского. Прошу прощения, если мой вопрос прозвучал неудобно.
Самый полезный комментарий
мои результаты теста seige на экземпляре Uplcoud 2GB с использованием LAN-соединений
Команда - siege -v -d1 -c250 -i -f siege.txt
siege.txt имеет 65 URL-адресов (все кешируются и обслуживаются самим сервером)
H2O
Транзакции: 12766 просмотров
Доступность: 99,86%
Затраченное время: 35,62 сек.
Передано данных: 580,61 МБ
Время отклика: 0,67 сек.
Скорость транзакции: 358,39 транзакций / сек.
Пропускная способность: 16,30 МБ / с
Параллелизм: 240.01
Успешных транзакций: 12766
Неудачные транзакции: 18
Самая длинная транзакция: 4,64
Самая короткая транзакция: 0,00
nginx
Транзакции: 9909 просмотров
Доступность: 99,77%
Затраченное время: 34,35 сек.
Передано данных: 455,19 МБ
Время отклика: 0,84 сек.
Скорость транзакции: 288,47 транзакций / сек.
Пропускная способность: 13,25 МБ / с
Параллельность: 242,80
Успешных сделок: 9905
Неудачные транзакции: 23
Самая длинная транзакция: 8,84
Самая короткая транзакция: 0,00
Кэдди
Транзакции: 12145 просмотров
Доступность: 99,44%
Затраченное время: 35,07 сек.
Передано данных: 635,66 МБ
Время отклика: 0,69 сек.
Скорость транзакции: 346,31 транзакций / сек.
Пропускная способность: 18,13 МБ / с
Параллельность: 239,72
Успешных сделок: 11813
Неудачные транзакции: 69
Самая длинная транзакция: 1,97
Самая короткая транзакция: 0,00