Answers:
我将从阅读有关该主题的维基百科文章开始。
简而言之,可伸缩性是系统性能随添加更多资源而增长的方式,或者是资源利用率随负载增加而增长的方式。例如,在响应时间超过0.3秒之前,您的网站可以处理多少个并发用户?将可用的RAM /磁盘/ CPU /等加倍后,出现相同的问题。您可能可以利用对应用程序内部的了解来决定哪些参数值得检查。
用一台服务器计算机和一个或多个客户端计算机设置一个测试台。使用某种工具来限制服务器可用的资源量(例如ulimit
),或在服务器上运行某些干扰应用程序。衡量服务器如何处理客户端请求。重复上述逐渐增加/减少的干扰负载/可用资源。最后,您将获得n维空间,其中包含点。一次只更改一个参数,而将所有其他参数固定为某个典型值(或几个值)可能会更简单。在这种情况下,您可以将结果表示为一堆2D图形,其中一个轴具有服务器性能(例如,用户/请求数),而另一个轴则具有资源利用率/可用性。
在更复杂的场景中,您的应用程序为应用程序的多个部分使用多个服务器,并且可以改变它们的数量和比率,但是我想这不是您的情况。如果这很重要,您最多可能想要更改线程/进程的数量。
如果测量整个应用程序,通常不需要访问源代码。但是,您可能会对测量代码的某些特定部分(例如,仅DB或UI)感兴趣。然后,您可以使用源代码仅公开此模块进行测量并运行测试。这称为微基准测试。
如果您在寻找示例,学术文章中有很多示例。在Google学术搜索中搜索性能评估 +您的首选字词。