Сервер Node js и инструмент Apache ab: неожиданное поведение

Решение с использованием data.table. Найти максимальное значение в столбцах 3:5 (столбцы оценки) с помощью ID и Group.

library(data.table)
setDT(d)
d[, .(Max = do.call(max, .SD)), .SDcols = 3:5, .(ID, Group)]

   ID Group Max
1: a1   abc  11
2: a1   def   5
3: a2   def  11

Данные:

d <- structure(list(ID = structure(c(1L, 1L, 1L, 2L), .Label = c("a1", 
"a2"), class = "factor"), Group = structure(c(1L, 1L, 2L, 2L), .Label = 
c("abc", 
"def"), class = "factor"), Score1 = c(10L, 0L, 0L, 5L), Score2 = c(0L, 
0L, 5L, 10L), Score3 = c(0L, 11L, 2L, 11L)), class = "data.frame", row.names = 
c(NA, 
-4L))
0
задан zsimo 22 January 2019 в 15:07
поделиться

2 ответа

Это очень странно, и я не получаю те же результаты, что и вы на моей машине. Я был бы очень удивлен, если бы ab выдавал разное количество фактических запросов.

Вещи, которые я бы попробовал:

  • Написать простой сервер, используя экспресс, а не хапи. Если проблема все еще возникает, вы, по крайней мере, знаете, что это не проблема с хапи.
  • Для перехвата сетевых вызовов с помощью fiddler
    • ab -X localhost:8888 -n 100 -c 30 http://127.0.0.1:3000/test будет использоваться прокси-сервер fiddler, который затем позволит вам увидеть фактические вызовы через сетевой интерфейс. подробнее
  • wireshark , если вам нужно больше энергии и ваше чувство смелости (я бы использовал его, только если скрипач вас подвел)

Если после всего этого вы все еще находите проблему, то она сузилась до проблемы с узлом, я не уверен, что еще это может быть. Попробуйте использовать узел 8, а не 10.

0
ответ дан Damo 22 January 2019 в 15:07
поделиться

Используя прокси-сервер Fiddler, я обнаружил, что инструмент AB запускается больше раз, чем количество запросов, которые нужно выполнить (пример: -n 200 ).

Запустив серию последовательных тестов:

# 11 consecutive times
/usr/bin/ab -n 200 -c 30 -X localhost:8888 http://localhost:3000/test

Прокси-сервер и сервер узлов сообщают о 2209 запросах. Похоже, что AB менее точен с прокси в середине, но все еще неточен.

В общем, и что более важно, я никогда не обнаруживал несоответствия между запросами, передаваемыми через прокси, и запросами, полученными сервером узла.

Спасибо!

0
ответ дан zsimo 22 January 2019 в 15:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: