1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/openeuler-gazelle

 / Детали:

[xdp] Изменение MTU клиента после которого redis-benchmark тест get команды прерывается

Предстоит сделать
Владелец
Создано  
10.03.2025

[Описание дефекта]: Добавьте подробное описание проявления проблемы
1. Информация о дефекте
[Дефект принадлежит версии ОС] (например, openEuler-22.03-LTS, используйте команду "cat /etc/os-release")
openeulerversion=openEuler-22.03-LTS-SP4
compiletime=2025-01-15-15-05-32
gccversion=10.3.1-67.oe2203sp4
kernelversion=5.10.0-246.0.0.145.oe2203sp4
openjdkversion=1.8.0.432.b06-0.oe2203sp4
[Версия ядра] (например, kernel-5.10.0-60.138.0.165, используйте команду "uname -r")
5.10.0_JD_XDP
[Программное обеспечение и его версия] (например, kernel-5.10.0-60.138.0.165, используйте команду "rpm -q имя_пакета")
gazelle-1.0.2-83.aarch64
dpdk-21.11-83.aarch64
[Информация об окружении]
Двухканальное окружение с конфигурацией ipvlan
[Шаги воспроизведения проблемы]: Опишите конкретные шаги действий

  1. Запустите сервер LD_PRELOAD=/usr/lib64/liblstack.so GAZELLE_BIND_PROCNAME=redis-server /root/redis-server . /redis.conf --protected-mode no --bind 124.88.25.225 --save ""
dpdk_args=["--socket-mem", "1024,0,0,0", "--huge-dir", "/mnt/hugepages-lstack", "--proc-type", "primary", "--vdev", "net_af_xdp,iface=ipvlan0,queue_count=1", "-d", "librte_net_af_xdp.so"]
stack_thread_mode="run-to-wakeup"
#ltran режим требует добавления "--map-perfect" и "--legacy-mem" в dpdk_args
use_ltran=0
kni_switch=0
flow_bifurcation=0
low_power_mode=0
#необходимое количество mbuf = tcp_conn_count * mbuf_count_per_conn
tcp_conn_count=1500
mbuf_count_per_conn=138
#размер кольца отправки, по умолчанию 32, максимум 2048
#если длина UDP пакета превышает 45952(32 * 1436)Б, размер кольца отправки должен быть как минимум 64.
send_ring_size = 32
#размер кольца приема, по умолчанию 128, максимум 2048
recv_ring_size = 128
```  #Параметры протокола стека потока на каждом цикле
#Чтение данных из протокола стека в recv_ring
read_connect_number = 4
#Обработка количества RPC сообщений
rpc_number = 4
#Чтение количества пакетов NIC
nic_read_number = 128
nic_rxqueue_size = 4096
nic_txqueue_size = 2048
#Каждое CPU ядро запускает поток протокола стека.
num_cpus="1"
#Биндинг рабочего потока приложения к NUMA в epoll/poll.
app_bind_numa=1
#Установка аффинитета основного потока приложения DPDK.
main_thread_affinity=0
host_addr="124. 88. 25. 225"
mask_addr="255. 255. 0. 0"
gateway_addr="124. 88. 0. 1"
devices="52:54:00:1b:fa:d2"
#0: использовать правило RSS
#1: использовать правило TCP-кортежа для указания пакета на очередь NIC
tuple_filter=0
#tuple_filter=1, ниже указаны параметры
num_process=1
process_numa="0,1"
process_idx=0

```markdown
#tuple_filter=0, конфигурация валидна
listen_shadow=0
#VLAN режим; поддерживаются значения от -1 до 4094, -1 — отключено
nic_vlan_mode=-1
#Mode объединения; поддерживаются режимы объединения 4 и 6, -1 — отключено
bond_mode=-1
#MAC адреса слейвов объединения, разделённые точкой с запятой; поддерживаются два MAC адреса
#bond_slave_mac="aa:bb:cc:dd:ee:ff;gg:hh:ii:jj:kk:ll"
#Максимальное количество пулов памяти RPC
rpc_msg_max=4096
send_cache_mode=1
stack_interrupt=1
``````sql
2. Изменение MTU клиента
ifconfig enp4s0.135 mtu 68
3. Запуск клиента
/root/redis-6.2.9/src/redis-benchmark -h 124.88.25.225 -p 6379 -c 10 -n 10000 -d 1800 -t set,get

[Фактический результат], пожалуйста, опишите фактические результаты и последствия.

SET можно тестировать нормально, GET сразу равен нулю.

[Ожидаемый результат], пожалуйста, опишите ожидаемые результаты и последствия.

Соответствие с состоянием ядра, нормальное тестирование.

Комментарий (0)

GitLife Service Account Задача создана
GitLife Service Account добавлено
 
sig/sig-high-perform
label.
Развернуть журнал операций

Вход Перед тем как оставить комментарий

Статус
Ответственный
Контрольная точка
Pull Requests
Связанные запросы на слияние могут быть закрыты после их объединения
Ветки
Дата начала   -   Крайний срок
-
Закрепить/Открепить
Приоритет
Участники(1)
1
https://api.gitlife.ru/oschina-mirror/openeuler-gazelle.git
git@api.gitlife.ru:oschina-mirror/openeuler-gazelle.git
oschina-mirror
openeuler-gazelle
openeuler-gazelle