标签: performance-tuning

用于移动设备的最佳 TCP 拥塞算法是什么?

鉴于现在有大量可用的 TCP 算法以及基于 Linux 的移动设备的兴​​起,需要考虑的理想算法是什么?

从阅读各种实现来看,Veno 和 Westwood+ 看起来很有趣,但我对了解真实数据很感兴趣。

networking performance mobile-devices performance-tuning tcp

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

'tuned' 需要继续运行吗?

在我的 CentOS 7 系统上,我习惯于tuned-adm在配置期间设置适合环境的配置文件,但在那之后,我再也没有更改该配置文件。似乎调整后的系统产生了一个/usr/bin/python -Es /usr/sbin/tuned -l -P用于动态监控和调整的进程 ( )。与我系统上的其他守护进程相比,这个进程使用了​​明显更多的内存。我想减少某个内存受限服务器上的非必要服务。如果我不使用涉及动态调整功耗等参数的配置文件,该tuned进程是否需要继续运行?我可以安全地停止该过程并从那时起保留我最初设置的配置文件吗?

centos performance-tuning

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

硬盘速度:RPM 与缓存

在尝试为随机和线性访问选择高性能的 SATA 磁性硬盘驱动器(而不是 SSD)时,哪个应该是主要因素?

例如:具有 16MB 缓存的 10k RPM 驱动器是否会比具有 32MB 缓存的 7200RPM 驱动器性能更好

hardware performance hard-drive performance-tuning

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

对于 iPhone 客户端在 3G 等移动网络上遇到的服务,有哪些 TCP 调整技巧?

我是一名开发人员,设计网络服务时有好坏之分,iPhone 客户端将对其造成严重打击。iPhone 应用程序在过去一年的下载量超过 10 MM,现在我让用户在线进行互动。

我想为将托管我的基于 TCP 的网络服务的服务器调整 TCP 实现。发送的每个请求大小将是“小”(比如 < 256 字节)。好吧,你明白了,这是一个游戏服务器(令人震惊!)。

仅供参考,我对这个特定服务的 UDP(或 UDP 之上的可靠层,例如在 ENet 和 RakNet 中看到的)不感兴趣,因为游戏不是类似 Quake 的;必须可靠地接收所有数据包,这就是 TCP 的设计目的。因此,iPhone 客户端和服务之间的连接将是“长期存在的”(尽可能多——该死的隧道和电梯!)。

仅供参考,我在运行 Linux 2.6.18-164.9.1.el5 的服务器上的 100Mbps 上行链路上运行该服务。

我的目标是同时:

  • 保持尽可能低的延迟;和
  • 最小化每个连接的客户端使用的内存量。

大量与 TCP 相关的旋钮需要调整!经过一些基础研究后,似乎大多数人建议保留设置不变。但是,有许多设置似乎应该针对特定情况进行调整。我知道这有点模糊,这就是我寻求帮助的原因。

考虑在不稳定网络上调整小请求/响应同时尽可能减少内存的事情可能是:

  • TCP/IP 实现可用的内存
  • 设置“nodelay”选项(禁用 Nagle 算法,因为这是一个半实时游戏服务器)
  • 拥塞控制算法
  • 等(还有什么?)

考虑 TCP拥塞控制算法

  • reno:几乎所有其他操作系统都使用的传统 TCP
  • 立方:CUBIC-TCP
  • bic:BIC-TCP
  • htcp: 汉密尔顿 TCP
  • 拉斯维加斯:TCP 拉斯维加斯
  • westwood:针对有损网络进行了优化

我的服务器默认使用bic,其“目标是设计一种协议,可以在高速长途网络上将其性能扩展到每秒数十千兆位,同时保持强大的公平性、稳定性和 TCP 友好性。”

仅从微小的描述来看,Westwood听起来更合适,因为它“旨在更好地处理大带宽延迟产品路径(大管道),由于传输或其他错误(管道泄漏)而导致潜在的数据包丢失,以及动态负载(动态管)”。

我是不是在这里太深入了,还是这门课程的标准?

你们通常为什么类型的东西调整 TCP/IP?如何?有哪些经验法则需要知道?

对于我的具体情况,您有哪些智慧之言?

非常感谢!

networking linux tcpip iphone performance-tuning

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

用于检查文件系统性能的 Linux 工具/命令

检查特定位置(例如已安装的 iSCSI 设备)的读/写性能的最简单方法是什么?

我怀疑我不能使用 hdparm,因为它的级别较低。我对吗?

linux ubuntu iscsi mount performance-tuning

6
推荐指数
2
解决办法
8559
查看次数

mongostat 中的锁定百分比是什么意思?

在运行 mongostat 查看我们的 mongo 数据库时,我会经常看到锁定的 % 数字跳起来,有时高达 80%。下面是一些示例行:

insert  query update delete getmore command flushes mapped  vsize    res faults locked % idx miss %     qr|qw   ar|aw  netIn netOut  conn       time 
 0     10      7      0       0      17       0  2.27g     5g  1.63g      0      0.1          0       0|0     0|0    22k     7k    83   15:46:10 
 0     21      7      1       0      23       0  2.27g     5g  1.73g      0      0.1          0       0|0     0|1    11k   424k    83   15:46:11 
 0     28     10      3       0      28       0  2.27g     5g  1.73g      0     26.9 …
Run Code Online (Sandbox Code Playgroud)

performance-tuning mongodb

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

在同一台机器上运行多个实例时的 Nginx 性能

我试图了解在同一台机器上运行多个 nginx 实例(主实例)对性能的影响,而不是使用不同的服务器块将它们全部加载到单个实例中。使用多个 nginx 实例如何影响 worker_process 和 worker_connections 优化?

我看到大量建议表明 worker_process 应该反映内核数量,最多应该是内核数量的两倍。我也明白 worker_connections 应该与 ulimit 匹配,或者稍微低于 ulimit。提供太多连接可用,或者每个内核有太多工作人员应该会损害性能。

我有两个核心和 1024 的 ulimit,但我有 4 个 nginx 实例,每个实例都有以下设置:

worker_processes 4;
worker_connections: 1024;
Run Code Online (Sandbox Code Playgroud)

这不是worker_processes 16;和我有和 一样的效果worker_connections 4069;吗?

注意:当我说 nginx 实例时,让我说清楚,我的意思是有 4 个独立的 nginx 主进程,每个进程都提供了一个具有相似设置的不同配置文件,每个进程都有自己的工作人员。

注 2:这个场景是我继承的并且已经到位。我想弄清楚我是否应该改变 nginx 的配置方式并有一个明智的理由。

optimization performance nginx performance-tuning

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

sunit=0 和 swidth=0 对 XFS 文件系统意味着什么?

我在创建系统时使用默认参数创建了一个 XFS 文件系统。现在在看的输出xfs_info,它显示为0的值sunitswidth。在这种情况下,我似乎无法解释 0 的含义。(的讨论sunitswidth发现都集中在这些参数设置正确的值,而不是将它们设置为0)

# xfs_info .
meta-data=/dev/mapper/centos-root isize=256    agcount=8, agsize=268435455 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=0        finobt=0
data     =                       bsize=4096   blocks=1927677952, imaxpct=5
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=0
log      =internal               bsize=4096   blocks=521728, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
Run Code Online (Sandbox Code Playgroud)

这必须是一个无知的问题,为此,我很抱歉,因为我是一个新手,XFS,但什么是0值的含义sunitswidth?我如何才能找出 XFS 真正用于这些参数值的内容,以及这些值与适合我的 RAID 阵列的值之间的关系?(这是一个位于硬件 RAID 之上的 LVM 之上的 XFS 系统。)

linux raid xfs filesystems performance-tuning

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

Hyper-V Windows Server 2016 VM 速度超慢

我有一个 Hyper-V VM,主机和 VM 都运行 Windows Server 2016。VM 安装了 Exchange 2016,需要一个小时才能完全启动(所有 Exchange 服务)。它在启动和运行时实际上非常可靠,但长时间的重启是一个问题。我想弄清楚为什么它这么慢。简单的例子:如果我点击开始按钮,我可以在开始菜单出现之前慢慢数到 5。但我看不出任何明显的原因。这是任务管理器中的性能选项卡:

表现

注意:我意识到这是 Exchange 2016 的一个低规格,但实际上用户很少,它用于测试。我想了解的是性能瓶颈在哪里,以及是否有任何我可以解决的问题。

如果我查看 Hyper-V 管理器,CPU 使用率通常显示 1%-15%。在其非常显示启动期间 CPU 使用率仅为 1%-2%。资源分配是默认的。还有其他几个虚拟机,但没有一个占用太多资源。

windows performance performance-tuning windows-server-2016

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

Nginx:优化 HTTP 缓存网站的服务器响应时间

我有一个网站,其中包含从 nginx 的 http 缓存提供的所有页面,并且很少失效或过期。

平均总页面下载大小约为 2 MB 但尽管是一个没有有趣逻辑的静态站点,但我的服务器响应约为一秒

在此处输入图片说明

我记录了 nginx $request_time,它从服务器到大约 400 毫秒

在此处输入图片说明

每个文件平均为 20-30 KB

在此处输入图片说明

400 毫秒似乎很荒谬。

我支持Cloudflare并且

sendfile        on;
tcp_nopush     off;
tcp_nodelay on;
keepalive_timeout  300s;
keepalive_requests 10000;
Run Code Online (Sandbox Code Playgroud)

我应该怎么做才能将响应时间降低到 150 毫秒范围内?

编辑:我调整的第一部分。

意识到我没有开启 SSL OSCP。将代码调整为

# https://github.com/autopilotpattern/wordpress/issues/19
    ssl_session_cache   shared:SSL:50m;
    ssl_session_timeout 1d;

    ssl_certificate /etc/letsencrypt/live/site.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/site.com/privkey.pem;
    ssl_trusted_certificate /etc/letsencrypt/live/site.com/chain.pem;
    ssl on;

    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH';
    ssl_prefer_server_ciphers on;
    ssl_stapling on;
    ssl_stapling_verify on;
Run Code Online (Sandbox Code Playgroud)

我会反馈改进的。

编辑2:

这是从印度到美国西海岸服务器的 3G 连接的网页测试结果

在此处输入图片说明

在此处输入图片说明

performance nginx performance-tuning http-caching

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