基本上我想知道是否有可能加快我的服务器或不使用像squidcaching,检查可能的错误configuration,优化各种服务器软件参数等。
如果我知道我的服务器的ping时间和时钟速度以及其他硬件参数,是否可以预测服务时间为1MB。
例如在我的情况下,我有1GHz的AMD与75ms的ping,我得到16k的页面服务于核心内存在0.6s – 我可以使任何更快? – 空闲时间显示页面 。
为此目的是否有任何基准/工具?
编辑我已经尝试添加鱿鱼,并没有得到任何性能增益。
谢谢。
在处理Web时,通常不是单个请求的速度,因为这不是服务器如何在负载下执行的现实指标。
您真正想知道的是,您的服务器是否可以为用户提供足够快的页面,以便在预期的负载条件下获得良好的体验 。
要回答这个问题,你应该得到一个像WCAT或JMeter这样的工具,并模拟对你的服务器的负载,然后找出瓶颈发生的地方(如果有的话)。
例如,通过查看您的Google Analytics(分析)或统计信息帐户,您知道一天中最多的用户数是500.然后,您决定要支持每天大约750个用户的峰值。 如果你打破这个(取决于你的网站是24×7还是9×5),你可能会发现你需要支持的最大同时页面请求大约是10。
然后使用WCAT或Jmeter,运行一个包含10个用户的testing,同时使用该站点并执行各种操作。 如果响应时间是可以接受的(你可以是裁判,但是页面加载时间不到2秒),那么你可以在那里停下来,或者继续添加用户,看看在什么时候性能下降。
一旦你看到性能下降,那么你就会把那个下降与当时服务器上正在发生的事情关联起来。 你是否得到了很多严重的页面错误? CPU使用率高吗? 你的DB不知所措?
一旦发现瓶颈(如果有的话),那么你可以看看如何减less瓶颈。 例如,如果您正在获取硬性页面错误和磁盘崩溃,则可能需要caching。
但是要知道你需要达到什么指标,对这些指标进行testing,发现并解决瓶颈问题。
这里有很多概念。 CPU处理能力,内存,高速caching,反向代理服务器和networking带宽都是独立的因素,导致良好的或最差的最终性能结果。
纯粹在networking层,现代PC或服务器可以在几毫秒内处理成千上万的请求。 但是,在你添加一个应用程序之前,“做的东西”。 这个等式的最大差别的部分是:
所以,如果1和2已经很好,而且你的页面实际上正在快速生成和服务 ,那么3可能是最大的瓶颈。 如果2是可怕的,那么1也是可怕的,即使3很好。 如果1是瓶颈,那么2或3就没有什么可以优化的。