标签: performance

磁盘读取速度间歇性变慢是否是由操作系统本身引起的?

我注意到我的 CentOS 5.x 虚拟机上的磁盘读/写速度间歇性变慢。

有时 hdparm 会报告:

/dev/sda3:
 Timing buffered disk reads:    6 MB in  3.03 seconds =   2.04 MB/sec
Run Code Online (Sandbox Code Playgroud)

其他时候,它会报告:

/dev/sda3:
 Timing buffered disk reads:   80 MB in  3.53 seconds =  22.34 MB/sec
Run Code Online (Sandbox Code Playgroud)

我倾向于怀疑 VMWare 主机系统负担过重,但在向 VMWare 管理员提出此问题之前,我想排除任何其他特定于操作系统的可能导致此行为的情况。

我可以运行任何其他区域或测试吗?任何类型的虚拟机/操作系统损坏都会导致此类行为吗?重建/更换虚拟机有帮助吗?

virtualization linux performance hard-drive centos

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

一台根服务器每月可以处理超过 5000 万个请求吗?

我正在运行安装在一台服务器上的 LAMP 应用程序,每月愉快地提供大约 100 万个 PI。现在我正在寻找潜在的合作伙伴关系,我的应用程序可能每月处理大约 50-80M 的请求。

这是我的架构的样子: 在此处输入图片说明

因此图像由 static.domain.com 提供,而应用程序由 www.domain.com 提供。90% 流量来自的 API 位于单独的 https 域 api.domain.com 下,但查询 mysql 和 solr 堆栈。

一台配备 128GB RAM 和 SSD 的 SW-Raid 1 根服务器是否能够处理这种负载?大多数请求将违背 solr 并仅提供 json 提要,可能不会命中“光盘”。

这对于 128GB 的​​ RAM 来说是不是太过分了,还是一台服务器甚至无法处理该负载?我也可以使用 2 个服务器和负载平衡。问题是如何在这个架构中。

感谢您对此的任何提示。

linux performance memory lamp

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

MySql 高延迟

我尝试使用 PHP 连接到 MySql 服务器,建立连接平均需要 2 秒。

我们在德国(法兰克福)托管我们的数据库,在新加坡托管 PHP 应用程序。

我们托管在 AWS 上。我们的数据库服务器是一个 RDS 多可用区实例 (db.m4.2xlarge)。

目前连接是通过公共互联网。

一个解决方案是为数据库创建一个主/主复制,但这在 AWS 上并不容易,而且对于当前的用例,它有点过度设计。

有什么办法可以减少延迟吗?通过 VPN 建立连接是否更快?

mysql performance latency amazon-web-services

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

我可以预期的最小千兆以太网延迟是多少?

我有 2 台服务器位于运行 Ubuntu 16.04 的机架中,它们之间有 1 米长的以太网电缆,都具有标准的英特尔以太网适配器。

两者ping之间大约是300 us(微秒)。

这是我在大多数千兆以太网设置中看到的标准延迟。

但是与理论限制相比,这种延迟似乎仍然很高;为什么?我读过 1 GbE 可以实现 40 us 的延迟。

这是我可以预期的最小延迟,还是我可以执行软件调整来减少这种延迟?瓶颈是什么?是Linux吗?在这个适用于 Windows游戏玩家网站上,屏幕截图中的工具在大多数情况下似乎表明延迟为 40 us,但这对我的 Linux 服务器并没有多大帮助。

(如何)我可以让我的ping40 个我们?

编辑:在寻找的截图再次,它可能是我们出的40是不实际的往返时间,但它实际上是Windows内核中的特定的延迟,因此40我们可能只是部分的总往返时间,这可能更高,未列出。这也符合这里的答案。

(我最初是在超级用户问这个问题的;此时我不清楚 ServerFault 是一个更合适的社区来询问网络性能问题,而且我在那里没有足够的声誉来提出这个问题,所以我重新提出在这里。我也将硬件切换到服务器硬件。)

networking performance ethernet ping latency

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

使用 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
查看次数

为什么udp的吞吐量比tcp低?

我正在通过 iperf3 测量 tcp 和 udp 吞吐量。我在虚拟机中运行 iperf3,一台作为服务器,另一台作为客户端。VM 通过 10 Gbps 链路进行连接。结果表明tcp比udp获得更高的吞吐量。然而,正如我们所知,TCP 运行更多的算法和计算,并且还具有三向握手,那么为什么 udp 吞吐量小于 tcp?这与 tcp 和 udp 的缓冲区大小有关吗?下面是 tcp 和 udp 测量的结果。很明显,iperf 在特定时间内为 tcp 发送的数据比 udp 发送的数据多,但为什么呢?

TCP:8.88 Gbps

[ ID] Interval           Transfer     Bandwidth       Retr  Cwnd
[  4]   0.00-1.00   sec   922 MBytes  7.73 Gbits/sec    1   3.04 MBytes       
[  4]   1.00-2.00   sec  1.04 GBytes  8.92 Gbits/sec    0   3.04 MBytes       
[  4]   2.00-3.00   sec  1.07 GBytes  9.15 Gbits/sec    0   3.04 MBytes       
[  4]   3.00-4.00   sec  1.05 GBytes  8.99 Gbits/sec    0 …
Run Code Online (Sandbox Code Playgroud)

performance iperf tcp udp

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

RAID 50 与 RAID 10 的性能?

我有一个带有 6 个 SSD 的服务器和一个支持 RAID 10 和 RAID 50 的 RAID 控制器卡,计划将其用作我们的构建服务器。它将拉入 NPM 包和许多小代码文件,编译和上传人工制品。

我们目前有一台服务器正在执行此操作,并且它正在运行 IO 瓶颈(它使用当前在 RAID1 配置中的非 SSD 驱动器)。

对于性能而言,RAID 50 和 RAID 10 中哪种 RAID 配置最适合?

从用例来看,IO 将主要是小文件的写入(随机写入)。磁盘空间和正常运行时间不是主要问题,因为我们有故障转移并且重建服务器很简单。所以我不关心在关闭阵列等之前有多少驱动器故障,唯一的考虑是性能。

RAID0 已被官僚机构排除在外。

我想真正的问题是奇偶校验的计算是否比总是写入同一个镜像磁盘花费的时间更长?

raid performance io write raid10

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

为什么 SQL Server 在 IBM Shark 硬件上运行缓慢

我在连接到 IBM Shark 的刀片上使用 SQL Server 数据仓库解决方案时遇到了性能问题。由于页面闩锁等待时间过长,磁盘 I/O 性能似乎异常缓慢。其他从事基于 SQL Server 的 MIS 项目的人报告了类似的症状,但没有明显的解决方案。我尝试过的一些测试是:

  • 在设置为 RAID-10 的 shevles 上构建部分或全部卷。这没有任何明显的影响。

  • 禁用 SQL Server 上的强制直写行为(这可能是安慰剂 - 见下文)。

没有任何测试对速度产生显着影响,并且系统在具有直接连接的 SCSI 阵列的硬件和 O/S 规范(Windows 2003 服务器 EE)大致相似的机器上的基准测试速度大约是其两倍。在 SAN 上,我有三个卷,每个卷安装了 8 个磁盘(RAID-10 日志、RAID-10 tempdb、RAID-10 数据)。在带有直接附加磁盘的机器上,我有 6 个内部和 14 个外部 10k SCSI 磁盘。

请注意,Shark 有 32GB 的缓存 RAM,这应该足以适应测试的应用程序的工作集。

我调查的一个途径是用于 SAN 存储的 SQL Server 认证程序,其中 SAN 通过强制直写位集来尊重 I/O。我可以找到声称符合此规定的 EMC、HP 和 Hitachi SAN 的文档,但找不到关于 Shark 的此类文献。

有没有人在 Shark 上遇到过类似的性能问题——如果有的话,你对此有什么见解吗?

performance storage-area-network sql-server

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

没有数据库交互性的高性能 Web 服务器

我准备设置一个服务器,负责跟踪来自大量流量源的统计数据。它将以平均每小时 6-7 百万的速度处理请求,所有这些都是小的 GET。我所需要的只是一个简单的服务器设置,它可以处理 get 请求的参数并将它们写入 CSV 文件。

我的第一个想法是使用 lighttpd+fastcgi+php,因为这是我已经熟悉的配置。但是,鉴于我不能每天都做出这些类型的性能决定,我想探索一些其他选项,看看是否有更好的方法可以达到这个目的。

optimization performance scalability lighttpd

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

我怎么知道服务器何时“以速度限制运行”?

基本上我想知道是否可以通过使用像鱿鱼这样的缓存来加速我的服务器,检查配置中可能的错误,优化各种服务器软件参数等。

如果我知道服务器的 ping 时间和时钟速度以及其他硬件参数,是否可以预测提供 1MB 数据的时间。

例如,在我的情况下,我有 1GHz AMD 和 75ms ping,我在 0.6 秒内从核心内存获得 16 kB 页面 - 我可以让它更快吗?-只是在无负载时显示页面的简单时间

是否存在用于此目的的任何基准/工具?

编辑我试过添加鱿鱼,但根本没有获得任何性能提升。

谢谢。

bandwidth performance bottleneck benchmark

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