Size: a a a

QA — Load & Performance

2020 September 02

VG

Viktor Ganeles in QA — Load & Performance
Кстати, сети может не хватать не только в aws но и у вас :)
источник

VG

Viktor Ganeles in QA — Load & Performance
Сеть нагрузить проще всего при помощи jperf
источник

VG

Viktor Ganeles in QA — Load & Performance
Ещё обратите внимание, что сети работает как на приём, так и на передачу, и лимиты скорости у них могут быть разные.

Так что для точности нужно 2 теста:
С доп. нагрузкой на сеть на передачу и с доп.нагрузкой на приём
источник

M

Mike Kasian in QA — Load & Performance
Viktor Ganeles
Ещё обратите внимание, что сети работает как на приём, так и на передачу, и лимиты скорости у них могут быть разные.

Так что для точности нужно 2 теста:
С доп. нагрузкой на сеть на передачу и с доп.нагрузкой на приём
Спасибо большое, буду смотреть.
источник

VG

Viktor Ganeles in QA — Load & Performance
У меня был кейс, когда тесты валились именно из-за хренового канала в одну сторону. Случайно обнаружил.

(А потом меня сетевики побить хотели, я своими тестами с jperf им канал между цодами выжрал полностью).

В тестах jperf-ом используй больше одного потока.
Штук 10, хотя бы
источник

M

Mike Kasian in QA — Load & Performance
Viktor Ganeles
У меня был кейс, когда тесты валились именно из-за хренового канала в одну сторону. Случайно обнаружил.

(А потом меня сетевики побить хотели, я своими тестами с jperf им канал между цодами выжрал полностью).

В тестах jperf-ом используй больше одного потока.
Штук 10, хотя бы
👍
источник

K

Klim in QA — Load & Performance
Всем привет! Кто-то когда либо пробовал делать соединение с influxdb в jmeter из jsr223? Просто backend listener не всю нужную инфу передает. Или в jmeter есть ещё способы что то записать в инфлакс?
источник

VG

Viktor Ganeles in QA — Load & Performance
Klim
Всем привет! Кто-то когда либо пробовал делать соединение с influxdb в jmeter из jsr223? Просто backend listener не всю нужную инфу передает. Или в jmeter есть ещё способы что то записать в инфлакс?
Кирилл делал
источник

VG

Viktor Ganeles in QA — Load & Performance
который админ тутошний
источник

VG

Viktor Ganeles in QA — Load & Performance
ща попробую найти
источник

M

Max in QA — Load & Performance
Klim
Всем привет! Кто-то когда либо пробовал делать соединение с influxdb в jmeter из jsr223? Просто backend listener не всю нужную инфу передает. Или в jmeter есть ещё способы что то записать в инфлакс?
альтернативно можно обычным POST’ом
источник

VG

Viktor Ganeles in QA — Load & Performance
Kirill Yurkov
#jmeter #listener добавляете jsr223 listener и вот это его тело
result = new StringBuilder();

status = "Failure";

if (!sampleResult.isSuccessful()) {
result.append("test5,")
   .append("label=")
   .append(escapeTag(sampleResult.getSampleLabel()))
   .append(",status=")
   .append(status)
   .append(" ")
   .append('responsecode="')
   .append(escapeValue(sampleResult.getResponseCode()))
   .append('",url="')
   .append(escapeValue(sampleResult.getUrlAsString()))
   .append('",response="')
   .append(escapeValue(sampleResult.getResponseMessage()))
   .append('" ')
   .append(sampleResult.getTimeStamp())
   .append("000000");
}

String escapeValue(String val) {

   val = val.replaceAll(",", "\\\\,")
       .replaceAll(" ", "\\\\ ")
       .replaceAll("=", "\\\\=")
       .replaceAll("\r\n", " ")
       .replaceAll("\n", " ")
       .trim();

   return val;

}

String escapeTag(String val) {

   val = val.replaceAll(",", "\\\\,")
       .replaceAll(" ", "_")
       .replaceAll("=", "\\\\=")
       .replaceAll("\r\n", "_")
       .replaceAll("\n", "_")
       .trim();

   return val;

}

import org.apache.http.HttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.params.BasicHttpParams;
import org.apache.http.util.EntityUtils;

void PostMeasurement(String metric) {
 
   def httpclient = new DefaultHttpClient(new BasicHttpParams());
   def httpPost = new HttpPost();
   httpPost.setURI(new URI("http://${influx_host}:8086/write?db=jmeter"));
   httpPost.setEntity(new StringEntity(metric));
   HttpResponse response = httpclient.execute(httpPost);
   EntityUtils.consumeQuietly(response.getEntity());
}
if (result.toString()!="") {
 PostMeasurement(result.toString());
}
вот
источник

VG

Viktor Ganeles in QA — Load & Performance
только если интенсивность очень большая - стоит прогнать 2 одинаковых теста, с этим листнером и без него
Убедиться, что влияния нет.
так как он инфу не батчами шлёт
источник

VG

Viktor Ganeles in QA — Load & Performance
и обязательно поставить галочку кэширования jsr223
источник

M

Max in QA — Load & Performance
Max
альтернативно можно обычным POST’ом
хотя, сам BackendListener, вроде, именно так и шлет
источник

KY

Kirill Yurkov in QA — Load & Performance
оказалась не самая производительная штука, вопрос изучил: во-первых конечно выставляйте chache compiled script if available, во-вторых если количество ошибок большое скорее всего часть будет отлетать при создании коннекта с флюксом
источник

KY

Kirill Yurkov in QA — Load & Performance
Kirill Yurkov
оказалась не самая производительная штука, вопрос изучил: во-первых конечно выставляйте chache compiled script if available, во-вторых если количество ошибок большое скорее всего часть будет отлетать при создании коннекта с флюксом
советую попробовать слать предварительно в телеграф, а чтобы тот собирал пакеты для инфлюкса - преимущество в том, что он держит 1 коннект для этого
источник

KY

Kirill Yurkov in QA — Load & Performance
а из самого телеграфа графана не читает постоянно, ему жить проще)
источник

KY

Kirill Yurkov in QA — Load & Performance
если не срочно - я на следующей неделе апдейт решения сделаю
источник

KY

Kirill Yurkov in QA — Load & Performance
но в целом вот этот Listener, что выше - для отладки отлично радобает и в прцоентах 70 случаев у меня и при высоких нагрузках хорошо себя ведет
источник