分布式系统与负载测试工具 Blitzy 实践
1. 分布式系统的重要性
在构建应用程序时,当单个机器的物理能力无法满足需求时,我们有两个选择:升级单个机器或添加其他机器。但单个机器的升级存在限制,且其处理能力也有物理限制,如打开的文件句柄和网络连接数量。另外,机器有时需要进行定期维护或升级。而分布式系统可以将负载分散到多台机器上,实现负载均衡。
同时,分布式系统还具有容错性。当一个或多个节点监控运行应用程序的节点时,如果该节点出现故障,下一个节点会自动接管。不过,分布式系统仍然面临一些难题,如网络分裂等,但 Elixir 和 Erlang VM 提供了工具,使构建分布式系统变得更加容易。
2. 分布式负载测试工具 Blitzy 概述
Blitzy 是一个命令行程序,用于对网站进行负载测试。例如,使用以下命令可以对 http://www.bieberfever.com 发起 100 个请求:
% ./blitzy -n 100 http://www.bieberfever.com
[info] Pummeling http://www.bieberfever.com with 100 requests
在幕后,Blitzy 会创建一个集群,并将请求分散到各个节点上。假设集群中有 4 个节点,那么每个节点将运行 25 个工作进程。当每个节点的工作进程完成后,结果会发送到主节点,主节点会聚合并报告结果,如下所示:
Total wo
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



