草庐IT

性能评分

全部标签

python - 具有超过 100 万个小 (30 kB) 文件的 Windows 7 目录性能急剧下降

我在生成和使用大量小文件时遇到了脚本性能方面的问题。我的磁盘上有两个目录(HDD和SSD上的行为相同)。首先是~10_000个输入文件,其次是~1_300_000个输出文件。我使用Python中的multiprocessing库编写了脚本来处理文件并生成输出。第一个输出400_000-600_files(不确定我何时达到“阈值”)以恒定速度生成,并且CPU的所有8个内核都以100%使用。然后情况变得更糟。当目录中有1_000_000个文件时,性能下降20倍,内核使用率下降到1-3%。我通过创建第二个输出目录并在那里写入输出文件的后半部分来省略这个问题(我需要快速修补程序)。现在,我有两

.net - 故意破坏性能计数器注册表

我想创建一个.Net抛出此异常的情况:InvalidOperationException:CannotloadCounterNamedatabecauseaninvalidindex''wasreadfromtheregistry.例如,在这个问题CannotloadCounterNamedatabecauseaninvalidindex-Exception我想要这样做的原因是因为我的应用程序的一小部分用户遇到了这种情况,我想检测这种情况并显示一个对话框,可以帮助用户通过运行lodctr来修复它。(不幸的是,由于第三方库中会抛出异常,因此无法简单地修复调用代码)要验证此过程,我需要能够

windows - 当我们测量函数的性能时,如何清空缓存

CPU缓存总是会中断我们测试某些代码的性能。gettime();func1();gettime();gettime();func2();gettime();//func2isfasterbecauseofthecache.(orpagefaultsoffunc1())//Butweoftenmisunderstand.当您衡量代码性能时,如何消除缓存的影响。我正在寻找一些在Windows中执行此操作的功能或方法。请给我你的好建议。谢谢。 最佳答案 您可以做的一件事是调用一个具有大量代码的函数,并在对您正在分析的项目的调用之间访问大量

windows - 性能计数器,更改进程 ID?

我正在为Windows2008和IIS7上运行的网站创建性能计数器,因此进程的形式为(即第一个应用程序池的W3WP,第二个应用程序池的W3WP#1,第二个应用程序池的W3WP#2第三个应用程序池等)问题是:如果应用程序池被回收,或者机器被重启,会发生什么?相同的流程实例是否会映射到相同的应用程序池,或者它们会发生变化?(即w3wp将分配给第一个应用程序池,w3wp#1分配给第二个应用程序池,w3wp#2分配给第三个应用程序池,等等)而且,如果池进程关联发生变化,我们如何才能继续监视同一个应用程序池,而不必在每次系统回收时都重新配置性能计数器?澄清:我指的性能计数器不是ASP.Net计数

asp.net - IIS 性能

我们有以下设置:虚拟服务器,IntelXeonX5650@2.67Ghz(4个处理器)8GB内存Windows服务器2008标准版64位SQLServerExpressIIS7.5我们的数据库只有200mb。我们正在运行一个ASP.net应用程序。我们最近遇到了一些性能问题,大约200个并发连接导致100%的CPU使用率(主要由IIS消耗)并使响应时间达到20秒左右!在对我们的代码进行一些调整后,我们已经能够从loader.io运行负载测试。在1分钟内有1500个并发用户,最后我们的响应时间约为5秒,CPU使用率约为95%,再次主要由IIS消耗,我们的内存使用量约为4GB。但是,我们预

c# - 添加性能计数器类别挂起计算机

我正在尝试从ASP.NETMVC应用程序(在Windows8x64PC上使用VS2012)添加性能计数器,但我遇到的问题是,如果我检查该类别是否存在或添加新的性能计数器类别,计算机就会挂起我的代码是:namespaceTestMvcCounter{publicclassMvcApplication:System.Web.HttpApplication{protectedvoidApplication_Start(){AreaRegistration.RegisterAllAreas();WebApiConfig.Register(GlobalConfiguration.Configur

c++ - 性能计数器索引 windows pdh c

我正在编写一个实用程序,它应该获取当前的CPU负载。目前它正在工作并在我的本地化中使用\Processor(_Total)\%processtime。对于多语言支持,我通过PdhLookupPerfNameByIndex从注册表中获取计数器名称。现在代码看起来像PdhLookupPerfNameByIndex(NULL,6,processorTime,&cbPathSize);PdhLookupPerfNameByIndex(NULL,238,processor,&cbPathSize);PDH_COUNTER_PATH_ELEMENTSelements={NULL,processor

windows - 用于在 Windows 上监视单个文件 IO 性能的 API

我可以使用哪些WindowsAPI来监控特定文件或文件集的I/O性能指标?性能计数器似乎只提供更高级别的对象,例如LogicalDisk和PhysicalDisk。我正在寻找Windows资源监视器在磁盘->磁盘事件下使用的东西,即读/写bps和响应时间。 最佳答案 我快速搜索了“Perfmonindividualfiles”,没有看到任何有希望的东西。但我不确定衡量单个文件的性能是否有意义。I/O事件在I/O堆栈的多个位置合并,结果是操作系统在不同级别无法区分一个文件与另一个文件的文件I/O。假设应用程序本身没有进行任何缓冲/缓存

c - fwrite() 性能下降

我的Windows命令行C应用程序使用fwrite()将接收到的数据连续转储到SSD驱动器上的1GB文件中。数据来自PCIe卡,大小约为16KB,这是我在调用fwrite()时使用的数据计数。在这些情况下,每次fwrite()调用通常需要不到100微秒(使用Windows性能计数器测量)但有异常值需要2秒或更多秒才能完成,导致PCIe中的缓冲区溢出卡片。这些零星的性能下降的原因是什么?我能做些什么来防止它们发生吗?更新#1:部分问题似乎是由SSD驱动器引起的。转储到常规机械HDD时,异常值大约为100毫秒(而不是1000毫秒)。更新#2:似乎fwrite()减速发生在写入前1.5GB数

linux - Java 中特定于操作系统的构建性能

我们目前正在评估我们下一代全公司范围内的开发人员电脑配置,并注意到一些非常奇怪的事情。我们相当大的单体应用-在我们当前的配置下,构建时间大约为。4.5分钟(没有测试,只是编译)。对于我们的下一代配置,我们升级了几个组件。适度增加处理器的频率和IPC,将CPU内核数量增加一倍,并从小型SATASSD切换到额定>3GBps的NVMeSSD。此外,下一代配置从Windows7切换到Windows10。在执行第一个测试时,我们注意到构建时间几乎相同(4.3分钟),这比我们预期的改进要少得多。在我们的实验过程中,我们曾尝试在Windows主机上运行的虚拟Linux机器中运行构建过程。在旧配置(W