小编Ale*_*lex的帖子

每个 CPU 独角兽进程的最佳数量

我们正在 Unicorn 下运行 Ruby on Rails 网络应用程序。我们的应用程序不受 CPU 限制(我们有一个双 Xeon E5645 系统,带有 12 个内核,峰值负载平均值约为 6)。我们最初有 40 个 Unicorn 工作人员,但随着时间的推移,应用程序内存占用量增加。所以,现在我们必须减少工作进程的数量。我认为标准(CPU 内核数 + 1)公式也适用于 Unicorn,但我的同事试图说服我我们应该为每个 CPU 保留更多 Unicorn 实例并提供此链接。然而,我不确定为什么我们需要在空闲的 Unicorn 进程上花费这么多内存。

我的问题是:每个 CPU 内核有多个 Unicorn 实例的原因是什么?是因为 Unicorn 的一些建筑特性吗?我知道忙碌的 Unicorn 进程无法接受新连接(顺便说一句,我们使用 UNIX 域套接字与 Unicorn 实例进行通信),但我认为引入 backlog 正是为了解决这个问题。无论如何,是否有可能克服每个 CPU 规则的 2 到 8 个 Unicorn 实例?

web-server ruby-on-rails unicorn

16
推荐指数
2
解决办法
9597
查看次数

在单个 Linux 服务器上运行不同文件系统的性能影响

这本书“的HBase权威指南”指出,

不建议在单个服务器上安装不同的文件系统。这可能会对性能产生不利影响,因为内核可能必须拆分缓冲区缓存以支持不同的文件系统。据报道,对于某些操作系统,这可能会对性能产生破坏性影响。

这真的适用于Linux吗?我从未见过超过 300 MB 的缓冲区缓存,而且大多数现代服务器都有千兆字节的 RAM,因此在不同文件系统之间拆分缓冲区缓存应该不是问题。我还缺少其他东西吗?

linux performance xfs filesystems ext4

13
推荐指数
2
解决办法
965
查看次数

df 报告 Ext4 分区的可用空间错误

我的系统是 CentOS 6 x86_64,根分区格式为 ext4。 df报告大约 3Gb 为已用空间:

Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/md1              20158260   3433724  15700540  18% /
Run Code Online (Sandbox Code Playgroud)

du -sm -x /声称实际使用的 Gb 少于一个 Gb:

[root@xxxx ~]# du -sm -x /
948     /
Run Code Online (Sandbox Code Playgroud)

我想知道这里发生了什么。重新启动后使用数量立即更改。文件系统声称它是干净的,日志中没有错误。我发现了这个,但它没有解释问题的根源。我应该重新格式化分区吗?有没有办法追踪这种额外的使用情况?

我还执行了以下操作以检查du在非空挂载点上的挂载没有隐藏任何数据:

[root@xxxx ~]# mount -o bind / /mnt/root
[root@xxxx ~]# du -sm /mnt/root/
949     /mnt/root/
[root@xxxx ~]#
Run Code Online (Sandbox Code Playgroud)

不,这不是我的情况。

ext4 centos

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

ZVOL 的奇怪 ZFS 磁盘空间使用情况报告

我们在 FreeBSD 10.0-CURRENT 主机上有一个 100G ZVOL,它声称使用了 176G 的磁盘空间:

root@storage01:~ # zfs get all zroot/DATA/vtest
NAME              PROPERTY              VALUE                  SOURCE
zroot/DATA/vtest  type                  volume                 -
zroot/DATA/vtest  creation              Fri May 24 20:44 2013  -
zroot/DATA/vtest  used                  176G                   -
zroot/DATA/vtest  available             10.4T                  -
zroot/DATA/vtest  referenced            176G                   -
zroot/DATA/vtest  compressratio         1.00x                  -
zroot/DATA/vtest  reservation           none                   default
zroot/DATA/vtest  volsize               100G                   local
zroot/DATA/vtest  volblocksize          8K                     -
zroot/DATA/vtest  checksum              fletcher4              inherited from zroot
zroot/DATA/vtest  compression           off                    default
zroot/DATA/vtest  readonly              off                    default
zroot/DATA/vtest  copies                1                      default
zroot/DATA/vtest  refreservation        none                   local …
Run Code Online (Sandbox Code Playgroud)

freebsd zfs zvol

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

ext3 的文件系统性能调整选项

我有一台带有 48G RAM 的全新服务器,我将把它用作数据库服务器。我不希望磁盘读取出现问题,但我绝对希望针对写入密集型负载模式进行优化。

操作系统是 RHEL 5.6,FS 是 ext3,我已经在 /etc/fstab 中添加了“noatime”和“data=writeback”,后一个选项有助于大大减少 LA。我的下一个目标是尽可能优化 pdflush 过程。我尝试应用这里提到的调整,但无济于事。可能这些信息已经过时了。

我还有哪些选择?我应该继续试验 pdflush 还是保持原样更好?我倾向于降低dirty_ratiodirty_background_ratiosysctl 值以增加 I/O 平滑度,但这些值似乎与性能无关,压力测试下 Munin 中的负载模式基本相同。

我还应该尝试不同的 I/O 调度程序吗?在写入密集型设置中拥有大量 RAM 是否能让我受益?我知道磁盘 I/O 速度和延迟与 RAM 无关,但我的目标不是神奇地更快地写入磁盘,而是提高系统稳定性并实现某种优雅的降级。

假设我有良好的备份,并且可以接受进一步的数据一致性权衡,例如“data=writeback”。
谢谢你。

linux filesystems ext3 high-load

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

非交互式 ssh 会话不会终止,脚本退出后 sshd 进程将永远等待

我们使用类似的命令远程运行一个简单的部署脚本ssh deployer@10.170.4.11 sudo /root/run-chef-client.sh。它今天开始挂起,因为在完成后一直在sshd等待。我们从调试模式开始,得到两种不同类型的日志。以下是会话未挂起时的正常日志:10.170.4.11sudosshd

debug1: Received SIGCHLD.
debug1: session_by_pid: pid 23187
debug1: session_exit_message: session 0 channel 0 pid 23187
debug1: session_exit_message: release channel 0
Received disconnect from 10.170.4.6: 11: disconnected by user
Run Code Online (Sandbox Code Playgroud)

当它挂起时,我们得到以下信息:

debug1: Received SIGCHLD.
debug1: session_by_pid: pid 24209
debug1: session_exit_message: session 0 channel 0 pid 24209
debug1: session_exit_message: release channel 0
Run Code Online (Sandbox Code Playgroud)

我们的理解是服务器进程等待来自客户端的一些通信并且永远不会得到它。很难判断是客户端问题还是服务器端问题。我们尝试sshd在下运行strace但没有成功,因为在sudo这种情况下忽略了 SUID 位。那么,我们还应该尝试调试/防止这种情况吗?

linux ssh

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

无法更改 FreeIPA 管理员的密码 - “当前密码的最短寿命尚未过期”

我们有一个基于 FreeIPA 的系统,管理员的密码已过期,需要更改,但通过 SSH 的标准密码更改程序失败:

sashka@cellar ~ ssh admin@ipa.xxxxxxxxxx.com
admin@ipa.xxxxxxxxxx.com's password: 
Password expired. Change your password now.
Last failed login: Mon Jun 30 15:38:21 MSK 2014 from 116.10.191.195 on ssh:notty
There were 6071 failed login attempts since the last successful login.
Last login: Wed Apr 16 19:28:54 2014
WARNING: Your password has expired.
You must change your password now and login again!
Changing password for user admin.
Current Password: 
New password: 
Retype new password: 
Password change failed. Server message: Current …
Run Code Online (Sandbox Code Playgroud)

kerberos freeipa

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

MySQL 开始消耗大约 40% 的系统 CPU 时间并突然无响应

我使用来自 Dotdeb 存储库的 Debian 6.0.3 x86_64 和 MySQL 5.5.20-1~dotdeb.0-log。根据图,MySQL 进程在几个小时前开始消耗大量“sy”CPU 时间。我无法连接到正在运行的mysqld进程,不得不杀死它。我在日志中没有发现任何有用的东西。我的设置似乎很常见(我假设 Dotdeb 只是重新分发库存的 MySQL 版本)而且我以前从未见过这样的事情。这可能的根本原因是什么?我如何才能防止将来出现这种情况?

mysql central-processing-unit cpu-usage

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

SMTP 智能主机循环平衡

我们的 SMTP 提供商要求在四个不同的主机之间平均分配电子邮件。我知道分发这种负载的标准方法是利用 DNS 循环功能,但问题是应该使用符号名称而不是 IP 来寻址提供商的邮件服务器。处理这个问题的最佳方法是什么?设置多个 CNAME 记录是否有效,还是应该使用任何内部 Sendmail/Postfix/Exim/etc 平衡功能(我目前不知道)?

email-server smtp load-balancing smarthost

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