Вячеслав Смирнов
Эксперт по тестированию,
Райффайзенбанк
(Хакер № 163, 2012 год, стр. 108-112)
И ответы не должны теряться
Инструмент для нагрузки должен быть гибким
Last commit | 2016-05-17 | три года назад |
---|---|---|
JMeter | 2.11 | 2014, работает в 5.1 |
Amqp | 3.5.1 | 2015, обновляется до 4.11 |
Issues | 21 | 2015, критично heardbeat |
Pull Requests | 9 | 2017, удобно maven |
Fork | 109 | много, но активных 11 |
Last commit | 2016-09-02 | три года назад |
---|---|---|
Gatling | 2.2.0-M3 | 2015, не работает в 3.0+ |
Amqp | 4.9.0 | 2015, обновляется до 4.11 |
Issues | 2 | 2018, критично gatling-2.2.2 |
Pull Requests | 2 | 2018 |
Fork | 25 | три активных, для gatling-2 |
Last commit | 2019-10-06 | недавно |
---|---|---|
Gatling | 3.2.0 | 2019, работает в 3.0+ |
Amqp | 5.7.1 | 2019, новый |
Issues | 2 | 2019, нет Consume |
Pull Requests | 1 | 2019, развивается |
Fork | 5 | один активный |
def send(): Unit = {
val factory = new ConnectionFactory() // open
factory.setUsername("guest") // open
val conn = factory.newConnection() // open
val channel = conn.createChannel() // open
val bytes = message.getBytes()
channel.basicPublish("exchange","routing.key",null,bytes)
channel.close() // close
conn.close() // close
}
.group("Transaction Name") {
exec {
session =>
val factory = new ConnectionFactory() // open
...
channel.basicPublish("exchange","routing.key",null,bytes)
channel.close() // close
conn.close() // close
session
}
}
.group("Transaction Name") {
exec {
session =>
val factory = new ConnectionFactory() // open
...
channel.basicPublish("exchange","routing.key",null,bytes)
channel.close() // close
conn.close() // close
session.set("variable", variableValue) // share
}
}
// 1. 12:00:00
asyncLog("1").start("Generate PDF Report")
// 2. 12:00:05
asyncLog("1").log()
.label("Generate PDF Report (prepare report complete)")
// 3. 12:03:00
asyncLog("1").stop()
.exec(asynclog("Generate PDF Report (prepare report complete)")
.startTimestamp("2019-11-25 00:19:00",
"yyyy-MM-dd HH:mm:ss")
.endTimestamp("2019-11-25 00:29:00", "yyyy-MM-dd HH:mm:ss")
.status(io.gatling.commons.stats.OK)
.responseCode("200")
)
JDBC-plugin (3.2.1) | работает, есть инструкция по разработке |
---|---|
JMS-плагин (latest) | базовый, работа с очередями |
AMQP-плагин (2.1) | старый, не сработал |
JMeter-плагины | наглядность, работают |
AMQP-плагин (3.2) | новый, работает |