问题标签 [performance]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
30 回答
164175 浏览

web-applications - 对 Web 应用程序执行压力测试?

过去,我使用 Microsoft Web Application Stress Tool 和 Pylot 对 Web 应用程序进行压力测试。我编写了一个简单的主页、登录脚本和站点演练(在电子商务站点中将一些商品添加到购物车并结帐)。

与少数开发人员一起努力访问主页几乎总是会发现一个主要问题。更多的可扩展性问题将在第二阶段出现,甚至更多——在发布之后。

我使用的工具的 URL 是 Microsoft Homer(又名Microsoft Web Application Stress Tool)和Pylot

这些工具生成的报告对我来说从来没有多大意义,我会花很多时间试图弄清楚该站点能够支持哪种并发负载。这总是值得的,因为总是会出现最愚蠢的错误和瓶颈(例如,Web 服务器配置错误)。

你做了什么,你使用了什么工具,你的方法取得了什么成功?我最感兴趣的部分是提出某种有意义的公式,用于根据压力测试应用程序报告的数字计算应用程序可以支持的并发用户数。

0 投票
4 回答
2439 浏览

sql-server - ADO.NET 连接池和 SQLServer

  • 它是什么?
  • 如何使用 MS SQL 实现连接池?
  • 什么时候出现性能影响
    • 一个接一个地执行许多查询(即使用一个循环调用存储过程的 30K+ 迭代)?
    • 执行一些需要很长时间(10 分钟以上)的查询?
  • 有没有最佳实践?
0 投票
3 回答
924 浏览

asp.net - 在非生产环境中复制与负载相关的崩溃

我们正在我们的 Intranet 上运行一个自定义应用程序,我们在最近升级它后发现一个问题,即 IIS 以 100% 的 CPU 使用率挂起,需要重置。

在确定解决方案时,我们回滚到以前的版本,而不是让用户陷入困境。第一步是重现问题——但我们不能。

这里有一些背景:

Prod 有一个带有两个 CPU 和 2 GB RAM 的虚拟化 (vmware) Web 服务器。数据库服务器有 4GB,还有 2 个 CPU。它也在 VMWare 上,但在单独的物理硬件上。

在正常使用期间,应用程序运行良好。w3wp.exe 进程通常使用 5-20% 的 CPU 和大约 200MB 的 RAM。CPU 和 RAM 在正常使用情况下略有波动,但没有异常。

然而,当我们开始遇到问题时,RAM 急剧攀升,CPU 稳定在 98%(或尽可能多)。该站点变得无响应,需要重新启动 IIS。在这种情况下,重置应用程序池不起作用,需要完全重新启动 IIS。

它不会在夜间发生(不使用)。当站点处于负载状态时,这种情况发生得更多,但它也发生在非高峰期。

解决这个问题的第一步是重现它。为了模拟负载,我们开始使用 JMeter 来模拟使用。我们的加载脚本基于崩溃时的实际使用情况。使用 JMeter,我们可以提高使用率(崩溃期间负载的 2-3 倍),但站点运行良好。CPU 很高,站点确实变得缓慢,但内存使用量合理,没有任何问题。

有没有人有关于如何在非生产环境中重现此类问题的任何提示?我们真的很想重现错误,确定解决方案,然后再次测试以确保我们已经解决了它。在这个过程中,我们发现了一些我们已经改进的小东西可能会解决问题,但是如果我们能够重现问题并测试改进的版本,我真的会更有信心。

非常感谢任何工具、技术或理论!

0 投票
5 回答
728 浏览

performance - 有人在生产中使用过 Jaxer 吗?

有没有人在生产环境中使用过Jaxer,我很好奇它与 php、ruby 等相比如何保持,以及是否有人知道使用它的任何众所周知的陷阱。

0 投票
16 回答
235812 浏览

c - 在C中有效地将十六进制字符串转换为整数?

在C中,将一串十六进制数字转换为二进制unsigned int或的最有效方法是unsigned long什么?

例如,如果我有0xFFFFFFFE,我想要一个int带有 base10 值的4294967294

0 投票
10 回答
15227 浏览

unit-testing - 单元测试执行速度(每秒多少次测试?)

你的单元测试目标是什么类型的执行率(每秒测试 # 个)?对于单个单元测试来说,多长时间太长了?

我很想知道人们是否有任何特定的阈值来确定他们的测试是否太慢,或者只是当长时间运行的测试套件的摩擦变得更好时?

最后,当您决定测试需要更快地运行时,您使用什么技术来加快测试速度?

注意:集成测试显然又是另一回事了。我们严格来说是需要尽可能频繁地运行的单元测试。


回应综述:感谢迄今为止的出色回应。大多数建议似乎是不要担心速度——专注于质量,如果它们太慢,就选择性地运行它们。具有特定数字的答案包括每次测试的目标是 <10ms,最多 0.5 和 1 秒,或者只是将整个通常运行的测试套件保持在 10 秒以下。

不确定当它们都有帮助时将其标记为“已接受的答案”是否正确:)

0 投票
7 回答
18081 浏览

windows - 有什么好的Windows服务器性能监控软件?

我正在寻找一些软件来监视单个服务器的性能警报。最好是免费的并具有合理的默认配置。

编辑:为了澄清,我想在 Windows 机器上运行这个软件并监控远程 Windows 服务器的 CPU/内存/等。使用警报(不是单个应用程序)。

编辑:我想这个软件没有必要远程运行,如果有警报,我也会满足于在服务器上运行的东西并通过电子邮件发送给我。似乎 Windows 性能日志和警报可能会以某种方式用于此目的,但对我来说并不是很明显。

编辑:在编码恐怖博客上找到了一个简洁的工具,对远程监控没有那么有用,但对于您作为服务器管理员担心的事情非常有用:http: //www.winsupersite.com/showcase/winvista_ff_rmon.asp

0 投票
12 回答
3288 浏览

asp.net - 加速 ASP.Net 网站或应用程序

我有一个启用 Ajax.Net 的 ASP.Net 2.0 网站。网站和数据库的托管和数据库的架构一样不受我控制。在对硬件进行测试时,我确实控制了该站点的性能,但是在客户端的硬件上,重新加载或更改页面时会出现明显的延迟。

我想做的是让我的应用程序在交付时尽可能紧凑和快速。一种想法是为站点的所有静态资源设置到期日期,这样它们就不会在页面加载时被调用。资源是指图像、链接样式表和 JavaScript 源文件。是否有捷径可寻?

还有哪些其他方法可以优化 .Net 网站?

更新:我在网站上运行了 YSlow,而我受到打击最大的领域是加载的 JavaScript 和样式表的数量(23 个 JS 文件和 5 个样式表)。Ajax.net 和 Asp 已插入除一个(主样式表)之外的所有内容。为什么这么多?

0 投票
4 回答
34502 浏览

c++ - 如何重载 std::swap()

std::swap()在排序甚至赋值期间被许多 std 容器(例如std::listand )使用。std::vector

但是 std 的实现swap()非常通用,对于自定义类型来说效率很低。

因此,可以通过重载std::swap()自定义类型特定的实现来获得效率。但是如何实现它以便 std 容器使用它呢?

0 投票
4 回答
3653 浏览

sql - 关系数据库设计的好资源

我正在寻找一本关于关系数据库设计、性能调整等最佳实践的书/网站/教程。事实证明,这种资源有点难找;有很多“这里是规范化,这里是 ER 图,有它”,但在实际示例中并不多。有人有想法么?