Pull to refresh

Comments 4

Подозреваю что это сильно не бесплатно в плане времени и памяти с позиции дяденек которым срочно 300кк запросов в наносекунду.

Но фича классная. Надеюсь в сам nginx затащут UUIDv7 вместо v4

Конкретно этот модуль, по сути занимается только форматированием, так что пинальти должнен быть не существенным.
ради интереса, под нагрузкой, запустил perf record -g -p $pids + perf report --stdio --symbol-filter=ngx_http_idgen
конфиг использовался тот что в статье. Т.е. ожидалось, что % потерь на модуль будет максимальный

# Children      Self  Command  Shared Object  Symbol                           
# ........  ........  .......  .............  .................................
#
     0.48%     0.43%  nginx    nginx          [.] ngx_http_idgen_variable
     0.21%     0.16%  nginx    nginx          [.] ngx_http_idgen_get_request_id
     0.13%     0.13%  nginx    nginx          [.] ngx_http_idgen_format_uuid

на реальных нагрузках потери будут еще более размытыми

Не любое рандомное 128 битное число записанное в шестнадцатеричном виде с разделителями в нужных местах является UUIDv4. Согласно RFC, UUIDv4 должен иметь определенную структуру с указанием версии и варианта.

Если для Вас важен честный UUIDv4, можете воспользоваться $request_uuidv4 из состава предложенного модуля.

Sign up to leave a comment.

Articles