背景:服务器CPU表现不佳,使用 4.0版本进行性能调优尝试。
尝试:调整线程数与内存分配,但未见效果。
思考:通过分析波动最大的站点进程,关注其下线程,进入堆栈查找问题。
工具:ProcDump和WinDbg。
一、抓取dump:
使用procdump64命令,参数说明:
二、定位异常栈:
结果:发现多个线程死在redis死锁上,问题源于redis单线程处理大量并发请求,导致CPU占用过高。与业务方沟通后,建议:
以上解决性能问题,记录分享。
吐槽:公司仍在使用Windows Server,工具与命令使用困难,网上资料稀缺,心态崩溃。
数据库性能优化的策略广泛,主要分为代码层面优化、语句执行层面优化、SQL语句执行计划优化以及运行环境优化。 下文将聚焦SQL Server在配置方面进行性能优化的思路,涉及最大并行度、资源调控器、查询提示的配置方法与注意事项。 ### 最大并行度(MAXDOP)最大并行度是会话可使用的最大线程数。 对于大型查询,如大表扫描,使用多线程能显著提升效率;而对于小型查询,如修改小表内容,多线程并无必要。 默认值为0,表示不限制并行度。 优化时需考虑调整此配置。 配置方法及注意事项包括:1. **配置方法**:通过服务器配置选项调整最大并行度和并行开销阈值。 实际应用中,需根据系统特性调整,如OLTP系统宜设置较小的并行度以保证关键事务资源,而OLAP系统则可设置较高并行度以提高查询效率。 2. **注意事项**:调整时需考虑并发事务的影响,避免阻塞或资源冲突。 在CPU资源有限时,可设置为1以保证关键事务优先。 若查询执行时间过长,可逐步提高并行度观察效果。 建议根据查询类型和系统负载进行精细调整。 ### 资源调控器(RESOURCE GOVERNOR)资源调控器通过会话属性对CPU、物理I/O和内存进行限制,确保关键功能有足够的资源。 它基于分类器函数将会话分类,分配至相应资源池。 配置包括创建资源池、工作负荷组及设置阈值。 配置时需注意外部资源池与本次讨论的内部资源无关。 1. **创建与配置**:新建资源池和工作负荷组,设定资源限制。 资源池和工作负荷组用于管理资源分配,支持自定义设置以满足特定应用需求。 2. **注意事项**:资源调控器不针对专用管理员连接(DAC)进行控制。 内部工作负荷组和资源池中运行的DAC查询不需分类。 配置时需考虑应用性能和资源需求的平衡。 ### 查询提示(Query Hints)查询提示允许对执行计划进行微调,但通常情况下,查询优化器的决策已足够高效。 主要用于性能分析或特定查询优化。 主要提示包括表提示(WITH子句)和选项提示(OPTION子句)。 1. **表提示**:例如WITH(NOLOCK)用于避免表锁,适用于读取密集型查询。 强制使用特定索引,但需谨慎,索引删除后可能影响查询执行。 2. **选项提示**:调整最大并行度、开启追踪标志、强制执行计划生成等。 选项提示需根据实际场景配置,避免盲目使用。 在实际应用中,调整最大并行度以优化查询效率,使用资源调控器管理资源分配,通过查询提示微调执行计划,以实现高效稳定的数据访问。 通过细致的配置和优化策略,可显著提升SQL Server的性能。
为众抱薪者不可扼于风雪,新一代Xeon Scalable服务器的BIOS性能调优指南旨在帮助用户在不同场景下优化系统性能。 针对第四代Intel Xeon Scalable处理器的最新一代服务器,本文结合Dell网站上的技术资料以及个人理解,提供了系统性能调优的策略和建议。 本文旨在帮助用户在各种应用优化场景下,通过调整BIOS设置,实现低延时、虚拟化、数据库、SDS、CSP等领域的性能提升。 针对不同的目标场景,推荐的BIOS设置如下:1. **高性能计算与SPECcpu速度环境**:在不考虑节能和能效比的情况下,建议CPU电源管理、内存频率以及TurboBoost保持最大性能。 C1E关闭,以提供更好的性能基础。 2. **低延时、Stream与MLC环境**:建议关闭C-State(C1E关闭时),以减少内存带宽和延时的影响。 液冷系统建议关闭C-State,而风冷系统建议设置为“Autonomous”以保持较低的温度,有利于性能发挥。 3. **通用业务/科学计算吞吐量场景**:建议根据系统配置选择合适的BIOS设置,平衡性能与节能需求。 部分BIOS设置的解读:- **内存设置**:内存Node Interleave建议根据应用程序对非一致性内存的优化情况选择关闭或打开,以保持数据的一致性。 关闭自愈和ADDDC设置,保持内存Training时间在“Fast”模式,以提高性能。 - **逻辑处理器(超线程)**:在吞吐量方向的工作负载中,如SPEC CPU2017 INT和FP_RATE测试,建议开启逻辑处理器。 但许多HPC工作负载可能会禁用此选项,以适应特定的应用需求。 - **预取器设置**:在特定场景下,如SPEC CPU2017,建议关闭DCU Streamer Prefetcher,以优化内存读取性能。 XPT和UPI预取器则根据需求在特定场景中开启。 - **NUMA集群**:默认设置为禁用,保持每个物理CPU插槽一个NUMA域,简化内存分配。 在需要充分局部化的内存访问时,启用Sub NUMA Cluster以提高性能。 - **Dell Controlled Turbo**:在低延迟应用中建议开启,以保持核心频率在最大全核Turbo频率,减少抖动。 对于液冷系统,Dell Controlled Turbo Optimizer模式仅在特定场景下可用,展示液冷系统在满足相同功率散热条件下的性能优势。 - **LLC死线分配**:提供两种选项,禁用或启用在LLC中填充MLC死线,以优化内存使用效率。 本文提供的BIOS设置建议旨在为用户提供一个性能调优的框架,具体设置需根据实际应用环境和工作负载进行调整。 希望本文内容能对用户在性能优化方面的实践提供有益的参考。
本文地址:http://www.hyyidc.com/article/36638.html