标签: performance-tuning

您推荐哪些有关 OpenVMS 性能管理的资源?

我正在寻找有关如何衡量 OpenVMS 性能的详细信息,例如所有不同报告的统计数据的含义以及如何针对它们进行调整。

特别是,我目前正在研究 OpenVMS 内存管理;任何细节都会有所帮助。

performance performance-tuning openvms

2
推荐指数
1
解决办法
151
查看次数

如何提高千兆 LAN 上的 NFS 性能?

我在千兆 LAN 上有一台带有 Mac OS X 客户端的 Solaris 10 服务器。Solaris 服务器导出一个 RAID-Z 支持的 NFS 共享,所有客户端都连接到它。但是,传输文件的速度比我想象的要慢。我启用了巨型帧,这将我的最大吞吐量从 18MB/s 增加到 30MB/s,但这仍然比我想象的要慢。我认为当前的瓶颈是我的交换机,它似乎无法像我的机器发送的那样每秒交换尽可能多的数据包。此外,两台机器都使用大约 30 - 40% 的 CPU 进行传输。

除了更换交换机(我打算这样做)之外,我还能做些什么来降低 CPU 使用率并提高吞吐量?

solaris zfs nfs mac-osx performance-tuning

2
推荐指数
1
解决办法
5832
查看次数

如何针对高 DNS 流量优化 iptables?

如何针对高 DNS 流量优化 iptables?我有一个使用 iptables 充当桥接防火墙的专用 linux 服务器。最近在防火墙后面部署了高负载的 DNS 服务器,防火墙开始工作缓慢。一些技巧,如何让防火墙更有效?

domain-name-system linux optimization iptables performance-tuning

2
推荐指数
1
解决办法
2144
查看次数

当队列已经很大时,我看到 postfix 接受邮件的性能问题,有什么建议吗?

我使用 postfix 为我编写的邮件系统做最后的投递。所以这个postfix安装只接受我发来的邮件,然后就退回去了。当postfix队列为空时,5ms左右就可以接受一封邮件。当队列有 150k-200k 左右的消息时,从 me 到 postfix 的切换速度真的很慢,比如 50-100 有时是 500ms。

我在 SMTP 对话的每一部分都有记录时间,所以我可以看到时间都去哪儿了。其中一些是在我等待来自 RCPT TO 命令的响应时,但是在我发送最后一个点之后,在我收到“250 OK queued as...”响应之前,绝大多数时间都会消失。

我在想 RCPT TO 延迟可能是在 DNS 查找中,但这对我的排队时间没有帮助。我为我发送的所有电子邮件打开一个 TCP 套接字,并为每封邮件重新设置对话,因此没有时间浪费在建立和断开 TCP 连接上,所有这些都在等待 postfix 将消息排队。

我读过的关于性能调整 postfix 的所有内容都与队列管理和为这个和那个域在这里和那里发送邮件有关。但是我首先关心的是获取 postfix 只是为了快速接受邮件。

有没有办法找出 postfix 一直在做什么,或者有没有办法让它运行得更快?/var/spool/postfix 队列在本地磁盘上,所以我不能让它更快。

有什么建议?

postfix performance-tuning

2
推荐指数
1
解决办法
824
查看次数

使用 WD reds 时 ESXi 非常慢

我有一家小公司,我们为小公司提供技术支持。一段时间以来,我一直在其中的大多数中使用 HP Gen8 MicroServer 作为自制计算机的替代品。

有时客户有多个应用程序,在这种情况下,我们一直在使用免费的 ESXi hipervisor 来虚拟化微服务器中的两个或多个 VM。它不是真正的快速服务器,但对于大多数应用程序来说已经足够快了(大多数应用程序需要一个 Windows VM 来服务一个古老的会计软件和一个 pfSense 实例)

我部署了其中的 11 个,上个月我被要求为分支机构安装一个新的。

我完全像往常一样配置了服务器,16GB DDR3、RAID1,在所有情况下,但这是 G2020T 变体。这是更新的,它有一个至强 E3-1220L,稍微更强大。

无论如何,最后一个有 2 个 2TB WD 红色,我之前使用过 WD 黑色和 WD 绿色,没有任何问题,所以我认为红色是一个很好的折衷方案,但最终结果非常非常慢。我很确定这是一个 I/O 问题,因为与非 io 相关的任务很好。

我尝试了一个非常基本的基准测试,使用 dd 我向两台服务器上的数据存储区写入了一个 1GB 的文件:

老一:

time dd if=/dev/zero of=file bs=1000000 count=1000
1000+0 records in
1000+0 records out
real    1m 6.89s
user    0m 1.00s
sys     0m 0.00s
Run Code Online (Sandbox Code Playgroud)

新的一个

time dd if=/dev/zero of=file bs=1000000 count=1000
1000+0 records in
1000+0 records out
real    2m 23.58s …
Run Code Online (Sandbox Code Playgroud)

hp performance-tuning vmware-esxi

2
推荐指数
1
解决办法
902
查看次数

使用 ZFS 记录大小 16k 而不是 128k 的缺点

我在专用服务器上使用 Proxmox。对于生产,我仍在使用 ext4,但我决定开始使用 ZFS。

因此,我创建了两个具有不同记录大小的独立 ZFS 存储池:

  • 除 MySQL/InnoDB 之外的所有内容均为 128k
  • MySQL/InnoDB 为 16k(因为 16k 是我使用的默认 InnoDB 页面大小)

我添加了 16k 池来检查它是否真的对 MySQL/InnoDB 数据库性能产生影响。确实如此。我每秒的事务量增加了大约 40%,延迟降低了 25%(我已经使用sysbenchtpcc对此进行了彻底测试)。

出于实际原因,目前我更愿意使用一个具有 16k 记录大小的大池,而不是两个单独的部分(16k 和 128k)。我知道,我可以在单个 ZFS 池上创建子卷并为它们提供不同的记录大小,但这也是我想避免的。我更喜欢通过 Proxmox GUI 进行管理。


我的问题:

  1. 如果我开始对所有内容使用较小的 (16k) 记录大小而不是 128k(Proxmox 上的默认值),我会遇到哪些缺点?

  2. QEMU 磁盘映像是否具有与 innodb_page_size 等效的值?如果是的话 - 它的尺寸是多少?

    我尝试用以下方法检查qemu-img info

     $ qemu-img info vm-100-disk-0.raw
     image: vm-100-disk-0.raw
     file format: raw
     virtual size: 4 GiB (4294967296 bytes)
     disk size: 672 MiB
    
    Run Code Online (Sandbox Code Playgroud)

服务器使用情况是:

  • www/php 的容器(大量小文件,但在容器磁盘文件内)
  • java/spring应用程序的容器(它们产生大量日志)
  • mysql/innodb …

zfs performance-tuning qemu

2
推荐指数
1
解决办法
2207
查看次数

如何配置 Apache 以使用更多的 CPU?

Apache 线程堆积在我的一台 Web 服务器上(300-500 个并发请求,有些需要 3-8 秒来处理!),但 CPU 使用率非常低(约 10%)。因此,页面加载时间正在减慢。我有足够的空闲 CPU 功率。我怎样才能使用更多的它来更快地处理这些线程?

这是顶部的顶部......

Tasks: 469 total,   1 running, 468 sleeping,   0 stopped,   0 zombie
Cpu(s):  8.1% us,  1.7% sy,  0.0% ni, 90.3% id,  0.0% wa,  0.0% hi,  0.0% si
Mem:   9181012k total,  7998772k used,  1182240k free,        0k buffers
Swap:        0k total,        0k used,        0k free,        0k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                                                                                                                                                                                                                 
11351 apache    15   0  364m  30m  17m S 11.9  0.3   0:00.73 …
Run Code Online (Sandbox Code Playgroud)

performance httpd performance-tuning httpd.conf apache-2.2

1
推荐指数
1
解决办法
1万
查看次数

为 EC2 微实例优化 Apache

我在具有 ~600 mb RAM 的 EC2 微型实例上运行 apache2。该实例运行了将近一年没有问题,但在最后几周它只是不断崩溃,因为服务器达到了 MaxClients。

服务器基本上运行几个网站,一个wordpress博客(不经常使用),公司网站(最常用)和2个小网站,这些都是内部的。

博客的数据库运行在 RDS 上,因此该 Web 服务器上没有运行 Mysql。

当我来到公司时,服务器已经设置好并且正在运行 apache + mod_php + prefork。我们希望将来将其迁移到 nginx + php-fpm,但它仍然需要进一步测试。所以现在我必须坚持使用旧设置。

我还在服务器前面使用了 CloudFlare DDOS 保护,因为它在过去几周中受到了几次攻击。

我的公司此时不想花钱购买更好的 Web 服务器,所以我也必须坚持使用微型实例。此外,我们运行的网站代码非常糟糕且缓慢,有时单个页面加载可能需要长达 15 秒。整个网站是动态的并且是用 PHP 编写的,所以缓存在这里并不是一个真正的选择。这是为用户定制的搜索。

我已经关闭了 KeepAlive,这稍微提高了性能。

我的 prefork 配置如下所示:

 启动服务器 2
 最小备用服务器 2
 最大备用服务器 5
 服务器限制 10
 最大客户 10
 MaxRequestsPerChild 100

服务器在运行一段时间后变得没有响应,我运行了以下命令来查看有多少连接:netstat | grep http | wc -l 75

尝试重新启动 apache 暂时会有所帮助,但过了一段时间后 apache 进程再次变得无响应。

我启用了以下模块(apache2ctl -M 的输出)

加载模块:
 core_module(静态)
 log_config_module(静态)
 logio_module(静态)
 version_module(静态)
 mpm_prefork_module(静态)
 http_module(静态)
 so_module(静态)
 alias_module(共享)
 authz_host_module(共享)
 deflate_module(共享) …

performance-tuning apache-2.2

1
推荐指数
1
解决办法
4282
查看次数

使用 nginx 服务静态网站。响应时间超过 600 毫秒。怎么了?

我提供了一个 wordpress 博客,其中 nginx http 缓存到超过 99% 的请求,缓存寿命为 2 天。这是该网站网页。网页有很多图像,因此延迟加载。页面的平均大小仅为 1 mb。

平均响应大小为 10 KB

在此处输入图片说明

使用速度曲线时,我的 TTFB 中位数为 0.6 秒

在此处输入图片说明

为什么这么高?

我支持 cloudflare,所有静态资产(如 JS、CSS 和图像)都从 cloudflare 进行版本控制和缓存。

我的 nginx 配置有

    sendfile        on;
    # https://forum.nginx.org/read.php?2,280434,280434#msg-280434
    tcp_nopush on;
    tcp_nodelay on;

    #https://support.cloudflare.com/hc/en-us/articles/212794707-General-Best-Practices-for-Load-Balancing-at-your-origin-with-Cloudflare
    #https://www.nginx.com/blog/tuning-nginx/
    keepalive_timeout  300s;
    keepalive_requests 10000;
Run Code Online (Sandbox Code Playgroud)

我也有

initcwnd 设置为 10,initrwnd 10 和 ipv4.tcp_slow_start_after_idle=0

这是 cloudflare 对从 CF 到源的响应时间的报告 在此处输入图片说明

这是我的 2G 连接的 pagestest.org 结果

在此处输入图片说明

静态网站也在两台机器上进行负载平衡。一个在弗里蒙特,一个在孟买,Cloudflare 做地理路由。

为什么我的 TTFB 这么长,我可以做些什么来减少它?

在此处输入图片说明

performance nginx performance-tuning http-caching

1
推荐指数
1
解决办法
1110
查看次数

尝试扩展我的专用服务器以获得高流量

我现在有一个四核至强、8GB 内存和 2 个 1TB SATA 驱动器。我试图弄清楚如何扩展我的应用程序以每天处理尽可能多的负载和流量。我有一个行业网站,目前每天大约有 30,000 次注册,60k UV 和每天 600-1,000,000 次综合浏览量。速度太慢了,我不得不关闭服务器,现在我正在赔钱和流量。

我很确定它的一部分是 PHP 代码和 MySQL 查询(从印度雇佣他们)。我可以做些什么来优化并确保服务器处理尽可能多的流量而不会出现瓶颈。因为我每天都在期待更多的注册。它是一个数据库密集型站点,因为它是某个特定领域的“网络”站点,您必须登录,因此一切都围绕 MySQL。

附注。CentOS 5 64 位,PHP5,MySQL5。我知道数据库是 MyISAM,而且我很确定他们也没有很好地索引表。

感谢您的建议!

performance-tuning dedicated-server database-performance centos5

0
推荐指数
1
解决办法
375
查看次数

PCIe SSD vs SSD vs SAS - 哪个最适合数据库?

由于我很快就要发货了,我想知道哪个通常会最大程度地提高数据库性能?

桥接问题是 - 这将主要提升具有大量随机块读取和删除记录的数据库?

在单个驱动器性能:

  1. OCZ 240GB PCI Express RevoDrive 3 X2 SSD
  2. 英特尔 240G 固态硬盘 530
  3. 15k SAS 猛禽

最有趣的 - RAID 10 中相同驱动器的性能?

raid ssd sas performance-tuning

0
推荐指数
1
解决办法
770
查看次数

使用 netperf 测量网络吞吐量

我正在使用 netperf 对 Linux 服务器进行基准测试。根据networksecuritytoolkit 上的信息,1514 字节数据包的理论最大吞吐率为 117.35 Mbp/s。
但是,对于 1514 个数据包的 UDP 流量,我获得了 957 Mbp/s。我使用 netperf 生成流量。

我不确定这怎么可能。netperf 是否返回 udp/tcp 或以太网吞吐量?

networking performance-tuning linux-networking benchmark

-1
推荐指数
1
解决办法
918
查看次数

哪个会给 linux 提供更多的可用内存?

试图避免一些问题,所以我一直在努力学习 vm。在内核调整中,但即使在谷歌搜索之后仍然有点困惑。background_ratio 越低,冲洗越快?较低的dirty_ratio是保留的较少脏的内存,对

vm.dirty_ratio = 20
vm.dirty_background_ratio = 1
Run Code Online (Sandbox Code Playgroud)

或者

vm.dirty_ratio = 60
vm.dirty_background_ratio = 20
Run Code Online (Sandbox Code Playgroud)

或者

vm.dirty_ratio = 20
vm.dirty_background_ratio = 10
Run Code Online (Sandbox Code Playgroud)

或者

vm.dirty_ratio = 20
vm.dirty_background_ratio = 5
Run Code Online (Sandbox Code Playgroud)

linux performance kernel performance-tuning

-2
推荐指数
1
解决办法
639
查看次数