什么可能是对用户PC、PHP或JS进行基准测试的最佳方法


What might be the best way to benchmark a users PC, PHP or JS?

PHP-带有Codeigniter 的Apache

JS-典型的jQuery和内部库

问题:确定(不强制下载)用户的PC能力&或病毒问题

原因:我们推出了一款软件,该软件主要用于诊所,但可以在家使用,然而,在他们进入我们的主网站之前,我们需要知道他们的电脑是否能够处理我们基于网络、浏览器服务的软件的巨大问题。

进展:到目前为止,我们已经想出了一个测试dl速度的好方法,但仅此而已。

我们所做的:在php中,我们创建了一个2.5Gb的数据数组,在视图中发送给用户,从中视图计算获得数据所需的时间,然后从这个时间减去php基准,以获得上传/下载时间的参考点。这还不够。

我们的一些(本地)用户被发现有"糟糕"的电脑或感染了病毒,这可能导致2个问题。(1) 他们在我们的程序中执行预成型任务时崩溃,或者(2)他们的病毒可能试图注入我们的js,从而产生一种糟糕的体验,这可能会让我们在普通用户(没有受过这种东西如何工作的教育)眼中看起来很糟糕,从而损害"我们"的诚信。

我在谷歌上搜索过,但我发现的大多数插件或建议论坛/博客只是提供了衡量JS速度的方法,这还不够。我需要一个简单的代码(不包括视觉界面,我在一个漂亮的js-lib中发现了另一个问题,但需要几天时间才能删除所有作者的个人视觉代码),这将允许我测试以下3件事:

  1. 用户的数据传输速率(我认为我们已经涵盖了这一点,但如果有更好的方法,我不会排除它)
  2. 用户的处理速度,计算机一般有多快
  3. 可能通过恶意软件、广告软件或任何可能对用户体验有害的软件进行感染测试

我们不想做的事:修理他们的电脑!我们不在乎他们是否有问题,只是如果他们有太多问题,我们不想把他们带到我们的网站。如果他们不能在家里完成,那么他们将被建议去最近的当地办公室"在家里"使用这个软件。

进一步解释

我们知道你不能用PHP测试用户端的东西,我们并没有那么愚蠢,提到PHP是因为它在确定连接速度或交付可以实现我们想要的脚本方面仍然很有用。此外,如果你在网上找到它,这不是一个只供网上任何人注册和使用的软件,除非你隶属于一家特定的诊所,并且有登录名,否则你不能使用该视力,如果你以其他方式进入,这是非法的。我还不能真正透露很多信息,因为现场还没有直播。我可以说的是,它主要用于诊所/办公室,供客户完成某项任务。如果他们没有时间/交通工具或其他方式,需要在家里做,那么可以选择。然而,如果他们的家用电脑不"达标",这对他们来说只会是一个问题,并使他们本应完成的2小时任务变成4-6小时的噩梦。因此,我在我最喜欢的地方之一,询问是否有人以前有过这方面的经验,是否知道测试用户电脑的好方法,这样他们就可以获得尽可能好的分辨率,要么在家里测试(因为他们的电脑合适),要么被告知他们需要去当地办公室。希望这能让事情变得足够清楚,我们可以避免"愚蠢"的答案。我需要一个真正可行的解决方案和/或建议,请。

PHP(实际上)无法访问有关客户端计算机的信息。数据传输很容易受到网络速度和计算机速度的限制。尽管如果你不在乎哪个是限制器,它可能会起作用。

JavaScript可以可靠地检查一组操作的运行速度,并将它们发送回服务器。。。但仅此而已。出于安全原因,它无法访问文件系统。

编辑:好吧,通过这次修订,我想我可以提供一个真正的建议——基本上是妥协。你无法收集足够的信息来以某种方式绝对保证用户的计算机和连接是足够的,但你可以有一个大致的想法。

正如有人建议的那样,使用一个10MB-20MB的文件和几个较小的文件来测试实际传输速率;这将给您一个合理的估计。然后,使用JavaScript测试他们的系统速度。但不要只坚持一个测试,因为这可能严重依赖于浏览器。研究哪些测试最能准确地反映浏览器的功能;比如在数组上循环,操纵(不可见的)元素,以及复杂的数学运算。如果浏览器之间存在显著差异,则使用不同的阈值;PHP确实知道他们在使用什么浏览器,所以你可以根据情况给系统不同的"足够好"评级。通过版本限制(比如完全拒绝IE6)可能会有所帮助。

最后。。。通知用户。轻轻地首先让他们知道,"嘿,这将运行一个测试,看看你的网络连接和计算机是否足够快,可以使用我们的系统。"如果失败,告诉他们哪一部分,并向他们发出警告。"嘿,这真的没有我们建议的那么快。你真的应该去当地的诊所执行这项任务;如果你选择继续,可能需要比预期更长的时间。"希望到那时,用户会意识到任何问题都在他们身上,而不是在你身上。

你所听到的是正确的,没有办法有效地对基于Javascript的机器进行基准测试,特别是因为Javascript引擎主要取决于用户使用的实际浏览器,以及许多其他变量-没有文件系统权限等,浏览器会先崩溃。PHP显然是服务器端的。

像系统需求实验室这样的网站让用户下载一个java小程序,在自己的范围内运行。