最近消息队列要换成Kafka,作为一个测试人员,应工作要求,需要对Kafka进行性能测试,那么开干吧,了解它,测试它。在这里把自己学习和使用的一些经验记录在本文中,研究如何去使用Apache JMeter测试Kafka。 首先,先来了解一下什么是Kafka。
A Brief Overview of Apache Kafka 在一个大型的分布式系统中,通常有很多服务生成不同的事件:日志、监视数据、可疑用户操作等等。在Kafka中,这些被称为生产者Producer。另一方面,有些服务需要生成的数据,这些被称为消费者Consumer。 Kafka解决了这些服务之间的交互问题,它位于生产者和消费者之间,从生产者收集数据,将它们存储在主题的分布式存储库中,并通过订阅向每个消费者提供数据。Kafka作为一个由一个或多个服务器组成的集群启动,每个服务器都称为代理。 换句话说,Kafka是分布式数据库和消息队列的混合体。它以其特性而广为人知,被许多大公司用来处理万亿字节的信息。例如,在LinkedIn中,Apache Kafka用于传输用户活动的数据,Netflix则用于下游系统的数据收集和缓冲,如Elasticsearch、Amazon EMR、Mantis等。
让我们看看Kafka的一些特性,它们对于负载测试非常重要:
通过顺序I/O的磁盘数据结构提供消息的持久化,这种结构对于即使数以TB的消息存储也能够保持长时间的稳定性能。
高吞吐量:即使是非常普通的硬件,Kafka也可以支持每秒数百万的消息。
|