php负载测试,php – 这是一个做服务器负载测试的坏方法吗?

我正在开发一个

PHP-MySQL Web应用程序,用于服务器负载测试的可用工具很麻烦且令人困惑.所以我想我会尝试这个,我想知道这是不是一个坏主意:

>将页面生成时间和memory_get_usage()添加到每个页面的输出

>使用jQuery,AJAX和setInterval每秒点击页面n次,记录时间/内存消耗.

function roundNumber(num, dec) {

var result = Math.round(num*Math.pow(10,dec))/Math.pow(10,dec);

return result;

}

$(function(){

totalCount = 0;

i = 1;

totalTime = 0;

highest = 0;

memoryUsage = 0;

var hitsPerSecond = 1000;

var totalLimit = 100;

function testLoad(){

if (totalCount <= totalLimit){

$.get('/lp/user-page.php', function(data){

$(data).filter('#page-generation-time').each(function(){

totalTime += parseFloat($(this).text());

$('.console').append('

('+i+') - Load time: '+$(this).text()+'

');

i++;

if (highest < $(this).text()){

highest = $(this).text();

}

$('.average').html('Average: '+roundNumber(totalTime/i, 5)+' - Highest: '+highest);

});

$(data).filter('#page-memory-usage').each(function(){

memoryUsage = parseFloat($(this).text());

$('.memory').html($(this).text());

});

});

} else {

clearInterval(testLoadInterval);

}

totalCount++;

};

var testLoadInterval = setInterval(function(){ testLoad(); }, 1000/hitsPerSecond);

});

Load Test

这是一种非常愚蠢/不准确的负载测试方法吗?因为它似乎有它的优点:

>重量轻,易于实施.

>使用真实的浏览器加载整个页面.

>跟踪平均页面加载时间并在浏览器中记录结果.

但我真的没有任何参考框架来知道我得到的数字是否正确.感谢任何能告诉我我是否完全错误的人,以及是否有比jMeter更友好的用户.

UPDATE

不要将其用作服务器负载测试的方法.它不会给你一个准确的阅读.

使用上面的代码,我能够以“1,000”加载到服务器一秒钟,几乎没有问题.在尝试使用ApacheBench之后,我发现这绝不是对现实的反映.

使用ApacheBench,我能够通过使用40(!)并发连接点击应用程序来破坏服务器.

显然,我正在重写应用程序的一部分,以便在任何可能的地方使用缓存的HTML.

所以,回答我自己的问题,是的,这是进行服务器测试的一种不好的方法.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值