когда я делаю тестирование производительности с помощью jmeter, клиент сообщает об ошибке «запрос не может быть достигнут», я гуглю ошибку, большинство ответов относятся к «net.ipv4.tcp_tw_reuse», установите его на 1, но кто-то говорит, если хотите, чтобы это работало, должно работать с «net.ipv4.tcp_timestamps», установите «net.ipv4.tcp_timestamps» на 1 на сервере. Я не знаю, почему в клиенте, я установил «net.ipv4.tcp_tw_reuse», и должен установите «net.ipv4.tcp_timestamps» на сервере, и он будет работать? кто может мне помочь? какая-либо связь между двумя настройками ядра?
о связи между net.ipv4.tcp_timestamps и net.ipv4.tcp_tw_reuse
Ответы (2)
кто-нибудь знает об этом, я проверяю два аргумента, «net.ipv4.tcp_timestamps» действительно влияет на «net.ipv4.tcp_tw_reuse», если я просто устанавливаю «net.ipv4.tcp_tw_reuse» на 1, проблема не будет решена, но когда я также установлю "net.ipv4.tcp_timestamps" на 1, это повлияет на очевидное. Кто знает отношения между двумя параметрами?
Я случайно наткнулся на этот вопрос, поэтому постараюсь дать краткий ответ с моими последующими выводами.
Дополнительную информацию можно найти здесь, но основная часть
TCP_TW_REUSE
Это позволяет повторно использовать сокеты в состоянии TIME_WAIT для новых соединений, когда это безопасно с точки зрения протокола. Значение по умолчанию — 0 (отключено). Как правило, это более безопасная альтернатива tcp_tw_recycle.
/proc/sys/net/ipv4/tcp_timestamps — временные метки (RFC 1323) добавляют 12 байтов к заголовку TCP...
TIME_WAIT – это состояние TCP-соединения, когда локальный конец закрыт, но ОС ожидает новых пакетов с другого конца (в случае их поступления). Через некоторое время соединение автоматически освобождается.
Идея добавления временных меток состоит в том, чтобы иметь возможность очень точно рассчитать RTT (время приема-передачи), которое используется для контроля перегрузки.