在1.2.1节中提到过用户访问量的多少直接影响着网站的访问速度,现实中人们可以训练售货员使他能为更多的用户服务。而在计算机世界中,人们也可以通过增强机器的性能,提高应用的响应速度。
由于使用虚拟机搭建运行环境,因此可以更改虚拟机的配置以提高虚拟机性能。
1)打开VMware Server控制台页面。
2)关闭虚拟机。
3)单击“Hardware”→“Memory”→“Edit”,将内存提高到512MB。
更改虚拟机内存大小,如图1-11所示。
再次使用JMeter测试,可以看到访问速度有所提高,平均响应时间降低到7127ms,如图1-12所示。
虽然还不是很理想,但是用户可以接受这样的访问时间了。但有没有办法使响应速度提高得更多呢?
让我们再次回想那个售货员的例子,现实生活中通常还有另外一种提高售货速度的方式,那就是增加售货员的数量。
图1-11 更改虚拟机内存大小
(www.xing528.com)
图1-12 将内存提高到512MB后的测试结果
在计算机世界里同样可以通过增加计算机数量的方式提高响应速度。
将宠物商店应用程序分别部署在两台应用服务器上,而这两台应用服务器分别在两台虚拟机上运行,由于服务器一般有多个CPU,每个CPU又有多核,所以增加虚拟机可以充分利用服务器上的CPU资源。此外,由于虚拟机以文件的形式存在于硬盘上,所以可以将虚拟机直接复制到另一台计算机上,比如笔者的便携式计算机上。启动虚拟机,这样就有两台服务器同时为宠物商店应用提供服务。
当用户发现访问应用的速度变慢了,它可以选择访问备用的服务器。在理想状态下两个应用服务器各接受一半的用户访问,相当于减轻了应用服务器的负担。经过测试,当分别用一半的访问量访问应用服务器时(模拟50个客户同时访问),访问速度得到明显提高。笔者的测试结果是719ms,如图1-13所示。
这个测试结果是一个让人比较满意的结果。但这个解决方案带来一个问题,为了提高访问速度,用户不得不把所有的服务器列表都记下来。用户很有可能因为不方便就不访问我们的宠物商店了,如何解决这个问题呢?
图1-13 增加一台应用服务器后的测试结果
再回到那个商店的例子中,在这样的情况下,商店往往会在前端安排一个导购。由导购负责将客户带到能满足客户需求的售货员那里。在计算机世界中也有这种类似导购的程序,它会自动地将访问者的请求转发给相应的应用服务器。它们被称为负载均衡器。
Tomcat应用服务器有一个专门的负载均衡器,这些将在2.3.1节负载均衡中作详细介绍。
虽然已经拥有了一个足够快的宠物商店应用程序了,但是为了这个商店,我们还需要两台512MB的虚拟主机。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。