2

我敢肯定它到处重复。您可以“感觉”网络速度慢,或者机器速度慢或其他什么。但是服务器/机箱日志没有显示任何内容,因此 IT 不相信您。你做什么工作?

您的回归花费了两倍的时间...但这还不够好吧您使用 dd 等传输 100 GB,但是...这还不够。好的,您将服务器放置在不同的机箱中 2 周,它工作正常……但是……这还不够……

那么如何让 IT 更换机箱?

更具体地说:是否有任何套件可以在两个设置上运行(应该是相同的),它可以显示网络/cpu/磁盘访问的差异.. IT 会相信哪个?

4

5 回答 5

5

计算机不会像我们一样老化和变慢。如果您的服务器变慢了——实际上变慢了,不仅仅是因为您使用的其他计算机都在变快而感觉变慢了——那么这是有原因的,并且您可能能够修复它。我会尝试清理一些磁盘空间,对磁盘进行碎片整理,并检查正在运行的其他进程(也许有人向系统添加了更多应用程序,而您只是没有获得那么多周期)。

如果您的应用使用数据库,您可能需要分析查询性能并查看某些索引是否正常。当数据量很少时执行良好的查询如果必须使用表扫描,则可能会随着数据量的增长而开始花费很长时间。作为一名前“IT”人员,我也不愿意将硬件放在问题上,因为有人告诉我系统正在变慢。我想知道发生了什么变化,看看我是否能让系统按应有的方式运行。如果应用程序只是在硬件上增长了——在你进行了适当的优化之后——那么升级是一个合理的选择。

于 2009-03-14T11:27:05.340 回答
4

运行标准基准套件。与“工作”的类似计算机相比,看看它是否能准确定位内存、cpu、总线或磁盘。

有关一些提示,请参阅http://en.wikipedia.org/wiki/Benchmark_(computing)#Common_benchmarks

于 2009-03-14T11:13:47.777 回答
2

证明某事的唯一方法是进行严格的审计。

现在传统上,我们应该在两个不同的集合之间保持系统不变,同时改变我们感兴趣的变量。在这种情况下,变量是运行代码的硬件。因此,简单来说,您应该审核您的软件在两组不同硬件上的运行情况,其中一组是您不满意的硬件。并看到差异。

现在,如果你要正确地做到这一点,我相信你是,你首先需要提出一个零假设,比如:

“应用程序的缓慢与我们使用的特定硬件无关”

现在你开始反驳那个假设以支持另一种假设。收集到足够的结果后,您可以对它们应用统计分析,以确定任何差异是否具有统计显着性。有一些分析可以找出您需要多少数据,然后比较两组数据以确定差异是随机的还是非随机的(这会反驳您的零假设)。您所做的测试类型将主要取决于您的数据,但聪明的人已经制作了清单来帮助我们做出决定

于 2009-03-14T12:08:08.747 回答
0

听起来您的主要问题是被 IT 倾听,但原始技术数据可能无法说服合适的人。从企业获得支持可能会对您有所帮助,这意味着谈论金钱。

幸运的是,这两个平台已经包含了一个共同的软件——应用程序本身——旨在为某人赚钱或省钱。为什么不衡量它可以多快做到这一点,例如处理订单需要多长时间?

通过测量您的应用程序花费多长时间处理每个子任务或数据源,您可以大致了解正在执行的底层硬件。写入本地数据库,或处理大于 RAM 的数据结构会影响磁盘,进行网络调用会影响网络硬件,CPU 绑定计算会影响那里。

这些数据永远不会像基准一样精确,并且可能需要昂贵的编码,但更容易将其发现的内容转换为货币术语。Log4j 的NDC 和 MDC功能,以及Springs AOP可能是您很好的启用工具。

于 2009-03-14T11:41:28.360 回答
0

从 Windows 2000 中的开始/运行运行 perfmon.msc 到 Vista。然后只需为 CPU、磁盘等添加计数器。

对于 SQL 查询,您应该捕获实际查询,然后手动运行它们以查看它们是否很慢。

例如,如果使用 SQL Server,请从“工具”、“SQL Server Profiler”运行探查器。然后在您的程序中执行一些操作并查看捕获的任何可疑数据库调用。将其中一个查询复制并粘贴到管理工作室的新查询窗口中并运行它。

对于网络,您应该尝试人为地限制您的网络速度,看看它如何影响您的代码(例如,Traffic Shaper XP是一个简单的免费软件限制器)。

于 2009-03-16T09:22:52.077 回答