系统运行 CentOS 7.3,通过以太网和 infiniband 提供文件服务,但绝大多数流量通过 infiniband
我刚刚建立了一个新的文件服务器,它现在生成大量以下错误:
[2007827.701033] rpc-srv/tcp: nfsd: sent only 618872 when sending 1048708 bytes - shutting down socket
[2007835.313884] rpc-srv/tcp: nfsd: sent only 75908 when sending 1048708 bytes - shutting down socket
Run Code Online (Sandbox Code Playgroud)
我将 tcp_rmem 和 wmem 增加到最大 32mb,但问题仍然存在
net.ipv4.tcp_rmem = 4096 87380 33554432
net.ipv4.tcp_wmem = 4096 65536 33554432
Run Code Online (Sandbox Code Playgroud)
还有其他方法可以调整它来解决这个问题吗?
使用固态驱动器(尤其是 PostgreSQL 数据库)(例如 HP 的IO Accelerator)提高数据库性能的体验是什么?你有没有看到任何明显的改进?
我正在寻找用于调整用于中型网站的 MySQL 服务器的常见陷阱和优化的简要列表。
一般来说,我在这里寻找的建议类型是普通开发人员或管理员可以轻松实施的信息,这些信息将为他的网站的性能带来可衡量的好处。
举个例子
这是我从阅读高性能 MySQL 中学到的一个技巧,我经常看到它用于:
当使用 MyISAM 存储引擎(默认)时,服务器将在执行 DELETE 或 UPDATE 操作时锁定整个表,或者在执行未附加到表末尾的 INSERT 时(因为有一个“洞”从之前的 DELETE)。在操作完成之前,没有其他查询可以使用该表。
因此,如果使用除“INSERT”以外的任何操作看到大量修改,您应该在任何频繁使用的表上使用 InnoDB 或其他行级锁定引擎。
我计划(私下)部署一个服务器,该服务器将在 100MB 到 50GB 的文件中使用随机 I/O。请求的范围从 128 KB 到 4MB。配置文件将是 50:50,涉及读取和写入,并有更多读取的趋势。
什么文件系统可以最好地处理这种负载?我现在选择了 XFS。但是我应该研究哪些可调参数?
谢谢
我正在运行带有硬件 RAID 5 的 BackupPC 服务器,用于备份的主存储。由于这台机器是在很小的预算下创建的,因此控制器是用于 PCI 端口的 3Ware 9500S-4LP,驱动器是 200 GB SATA 类型的慢速驱动器。
然而,即使使用这种硬件,我看到的性能也比预期的要差得多。客户端和备份服务器使用 rsync 作为千兆网络上的传输,这甚至从未接近饱和。备份大约 5 GB 的正常 Linux 安装需要三个多小时。
所以我使用atop进程监视器来监视服务器。它表明处理器和内存的使用都不重要,但对 RAID 的读取访问是瓶颈。
当我构建服务器时,我选择了 RAID 5,因为根据这个 RAID 特性的表格概述,它似乎是 4 端口控制器上读取性能和空间效率之间的最佳折衷。
顺便说一下,虽然这是一个备份服务器,但使用 rsync 意味着这里的读取比写入多得多——目前大约是 1000 倍。我想在 BackupPC 的旧备份层次结构中移动和链接旧文件对此也有很大贡献。
那么,您将如何优化这台机器的性能?我有以下可调参数:
我正在从托管公司租用两台专用服务器。以下是规格:
server1:
HP ProLiant DL165 G7
2x AMD Opteron 6164 HE 12-Core
40 GB RAM
HP Smart Array P410 RAID controller
2x Samsung 830 256 GB SSD
server2:
HP ProLiant DL120 G7
Intel Xeon E3-1270
16 GB RAM
HP Smart Array P410 RAID controller
2x Samsung 830 128 GB SSD
Run Code Online (Sandbox Code Playgroud)
两台服务器上的设置相同:
我目前正试图弄清楚如何从顺序读/写开始,充分利用这些服务器中的磁盘。以下是我目前看到的速度:
Writes:
server1:~# dd if=/dev/zero …Run Code Online (Sandbox Code Playgroud) 我正在调整我的服务器以实现低延迟。在HP低延迟指南建议禁用此选项“处理器电源利用监管”,因为:
禁用 iLO 处理器状态模式切换和 Insight Power Manager 处理器利用率监控及其关联的 SMI
禁用处理器的系统管理中断为低延迟环境提供了最大的好处之一。禁用处理器电源和利用率监控 SMI 的效果最大,因为它在 G6、G7 和 Gen8 服务器中每秒生成八次处理器中断。
但是我在 BIOS 中找不到这个选项。我已经检查了HP ROM-Based Setup Utility 用户指南,但它不在那里。
如何禁用“处理器电源和利用率监控”,我应该执行哪些具体步骤?
我在 SSD 驱动器配置为 RAID 1 的 Debian 服务器上运行此命令:
ionice -c 3 find . -type f -amin -1440 -mmin +1441 -not -path custom/ -print0
在包含超过 170 万个文件和目录的路径上。
我注意到每次运行此命令时,服务器负载都会达到峰值,我想知道是否有任何方法可以限制find速度,使其不会产生如此高的负载。
另外我想知道这里是否有特定于 SSD 的选项以减少负载生成find
我为我的帖子的长度道歉。
我们最近将我们的业务系统转换为按内核数授权的产品。我们购买了 2 核许可证,目前正在 VMWare 上运行它。升级到下一个许可证级别的成本非常高。
我们遇到了一些非常重要的性能问题。我们已经消除了作为瓶颈的 RAM,以及网络、数据库和磁盘访问。我们遇到问题的时候并不总是以高 CPU 使用率为特征。有时cpu使用率低于20%,但CPU Ready却很高。
我正在考虑直接在单独的物理服务器上运行它的可能性。由于我仅限于两个内核,因此我会选择我可以获得的最快的“单线程性能”cpu,可能是 4 个内核。然后我会将业务系统设置为使用 2 个内核,并允许操作系统使用其他 2 个内核。
我的逻辑是这样的。现在 VM 有两个线程或 vCPU。这实际上只是一个 pCPU。即使我在没有超线程的情况下将它移到同一个盒子中,它也会获得 2 个完整内核而不是 2 个 vCPU。但是如果我选择一个在单线程上速度更快的芯片,我可以获得更多。我也可能会有一点收获,因为我不会再虚拟化它了。
我们目前的 6 核 cpu 根据 Passmark 得到以下分数。CPU 分数:8570 单线程性能:1403
我想要的 4 核处理器获得这些分数。CPU 分数:10231 单线程性能:2287
专门构建一个服务器来为这样的应用程序获得最佳的单线程性能是否有意义?有什么我需要担心的缺点吗?更新的操作系统会产生很大的不同吗?
当前的主机服务器具有以下规格: Proliant DL380 G7 2 物理 CPU:Intel(R) Xeon(R) X5675 @ 3.07 GHz 6 核 每个为 24 个逻辑处理器 (vCPU) 总数启用超线程。144 GB 内存
存储在较新的 SAN 上,我确信这不会影响我们的性能问题。
业务系统 VM 配置有 2 个 vCPU 和 24 GB RAM。操作系统为 Windows Server 2008 …
performance multi-core performance-tuning threads vmware-esxi
这是场景。假设您要购买大量服务器,但首先要从供应商处试用硬件,并且您需要对其进行鉴定。
另外,假设将在其上运行的自定义软件甚至没有编写(或者当前版本是如此“alpha”,以至于在此过程中有很多输入)。
编辑:硬件占用大量 CPU 和内存,但磁盘使用量很少。(主要只是记录)。
在这一点上,以我有限的经验,我唯一能想到的就是安装 linux,然后开始运行内存测试、硬盘测试、cpu 测试——我可以通过谷歌搜索找到任何东西。
我不介意这样做,但我想知道我是否遗漏了什么——也许是一些测试硬件多个方面的 uber 包(甚至可能测试我不知道要测试的东西)。
有没有人根据经验有什么建议?
performance ×4
hp ×2
hp-proliant ×2
linux ×2
ssd ×2
backuppc ×1
bios ×1
database ×1
debian ×1
filesystems ×1
find ×1
hardware ×1
multi-core ×1
mysql ×1
nfs ×1
optimization ×1
raid ×1
raid5 ×1
rsync ×1
threads ×1
tuning ×1
vmware-esxi ×1