标签: performance

为什么 Apache 运行这么多进程?这里的内存过多?

我注意到 Apache 在我的 LAMP 服务器(ubuntu 10.10)上运行多个进程。我只是在运行一个使用 MySQL 作为数据库的 Wordpress 站点。似乎 www-data 运行 apache2 的次数比它应该多(也使用太多内存),我是否正确:

ID      Owner       Size        Command   
31200   www-data    251236 kB   /usr/sbin/apache2 -k start
20678   www-data    250948 kB   /usr/sbin/apache2 -k start
25781   www-data    248888 kB   /usr/sbin/apache2 -k start
31045   www-data    248844 kB   /usr/sbin/apache2 -k start
19926   www-data    246480 kB   /usr/sbin/apache2 -k start
20749   www-data    239380 kB   /usr/sbin/apache2 -k start
32616   www-data    238632 kB   /usr/sbin/apache2 -k start
8846    mysql   238128 kB   /usr/sbin/mysqld
24178   www-data    234228 kB   /usr/sbin/apache2 -k start
32618 …
Run Code Online (Sandbox Code Playgroud)

ubuntu performance memory apache-2.2

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

测量正在运行的系统的 Linux IOPS

如何测量正在运行的 Linux 服务器的 IOPS?我知道SATA驱动器的理论IOPS在90左右,企业级10k SAS/FC磁盘是180。我想知道我正在运行的系统目前使用了多少?

目前我正在使用 iotop 和 iostat。但是这两个实用程序都没有提供 IOPS 数字。

顺便说一句,这个问题不是重复这个。我不是要对我的存储系统进行基准测试,而是要弄清楚我当前系统使用了多少 IOPS。

linux performance storage performance-monitoring

17
推荐指数
3
解决办法
5万
查看次数

ext4 文件列表在一个包含大量文件的特定目录中非常慢

背景

我有一个小的 logrotate 失误...... Logrotate 会通过失误旋转存档的日志,导致我的/var/log/. 当我发现有什么不对劲的时候,/var/log/已经包含了几百万个文件......

我设法(在一些脱发和 find/sed/grep 魔法之后)删除了所有有问题的文件并修复了我的 logrotate 配置。并认为一切都很好......

问题

每当我ls/du -hs或以其他方式列出/var/log/(现在包含 80mb 的档案/日志和最多几百个文件)的内容时,执行此操作的过程会挂起一两分钟。我确实相信这在某种程度上与 logrotate 事故有关,但我不确定,可能是其他原因。无论如何,我不知道从哪里开始调试或寻找解决方案。请帮助:3

其他信息

uname -a
Linux xxx 3.3.8-gentoo #18 SMP Sat Sep 21 22:44:40 CEST 2013 x86_64 Intel(R) 
Core(TM)2 CPU 4400 @ 2.00GHz GenuineIntel GNU/Linux

cat /proc/meminfo 
MemTotal:        2051552 kB
MemFree:           75612 kB
Buffers:            9016 kB
Cached:          1740608 kB
SwapCached:            0 kB

CFQ IO scheduler + SLUB allocator 
Run Code Online (Sandbox Code Playgroud)

我想:一个目录中有多少文件太多了?(从网络下载数据)是相关的,但我不再有文件了。 …

performance filesystems ext4 debugging

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

RAID 性能突然变慢

我们最近注意到我们的数据库查询运行时间比平时长得多。经过一些调查,看起来我们的磁盘读取速度非常慢。

过去我们遇到过类似的问题,由 RAID 控制器在 BBU 上启动重新学习周期并切换到直写。这次似乎不是这样。

我在bonnie++几天内跑了几次。结果如下:

邦妮++的输出

22-82 M/s 的读取速度似乎非常糟糕。dd在原始设备上运行几分钟,显示读取速度为 15.8 MB/s 到 225 MB/s(请参阅下面的更新)。iotop并不表示有任何其他进程在竞争 IO,所以我不确定为什么读取速度如此可变。

RAID 卡是 MegaRAID SAS 9280,具有 RAID10 中的 12 个 SAS 驱动器(15k,300GB)和 XFS 文件系统(在 RAID1 中配置的两个 SSD 上的操作系统)。我没有看到任何 SMART 警报,阵列似乎也没有降级。

我也运行过xfs_check,似乎没有任何 XFS 一致性问题。

接下来的调查步骤应该是什么?

服务器规格

Ubuntu 12.04.5 LTS
128GB RAM
Intel(R) Xeon(R) CPU E5-2643 0 @ 3.30GHz
Run Code Online (Sandbox Code Playgroud)

的输出xfs_repair -n

Phase 1 - find and verify superblock...
Phase 2 - using internal log
        - …
Run Code Online (Sandbox Code Playgroud)

raid performance megaraid hardware-raid

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

如何对外部 DNS 查找的性能进行基准测试?

我正在考虑将 Google 的公共 DNS 服务器作为我网络的外部 DNS。目前我正在使用来自我的 ISP 的 DNS 服务器。我过去也考虑过 OpenDNS,但最终决定不跳。

我希望能够对各个服务器能够为我们的 DNS 请求提供服务的速度进行基准测试。我在 nslookup 中看不到任何有用的东西。

如何测试外部提供的 DNS 的往返时间?

domain-name-system performance testing

16
推荐指数
4
解决办法
3万
查看次数

如何将 php5+MySQL 扩展到 200 个请求/秒以上?

我正在调整我的主页以提高性能,目前它在 3.14.by 上处理大约 200 个请求/秒,它处理 6 个 SQL 查询,在 3.14.by/forum(phpBB 论坛)上处理 20 个请求/秒。

奇怪的是,某些 VPS 和专用 Atom 330 服务器上的数字大致相同。

服务器软件如下:Apache2+mod_php prefork 4 childs(这里尝试了不同的数字)、php5、APC、nginx、用于PHP会话存储的memcached。

MySQL 配置为占用大约 30% 的可用 RAM(VPS 上约为 150Mb,专用服务器上为 700Mb)

看起来某处存在瓶颈,不允许我走得更高,有什么建议吗?(即,我知道执行少于 6 个 SQL 会使其更快,但这看起来不是一个限制因素,因为 sqld 由于缓存查询而在顶部的消耗不超过百分之几)

有没有人测试过踢预分叉的 apache2 并只留下 nginx+php 快得多?

更多基准

Small 40-byte static file: 1484 r/s via nginx+apache2, 2452 if we talk to apache2 directly. 
Small "Hello world" php script: 458 r/s via ngin+apache2.
Run Code Online (Sandbox Code Playgroud)

更新: 似乎瓶颈是 MySQL 在缓存数据上的性能。带有单个 SQL 的页面显示 354req/sec,有 6 个 SQL - 180 …

php performance nginx apache-2.2

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

在 Mysql 提交期间,IO 等待导致速度下降(EXT4 JDB2 为 99% IO)

我正在编写一个索引器,使用 python,它索引文档并将它们插入到数据库中,在它是单个进程之前,但现在我使用 4 个并行进程运行进行多处理。每次文本提取后,它插入到数据库中并进行提交。

现在遇到了IO问题,主要的IO问题不是我的进程而是EXT4的jdb2,journeling系统。它是在 99.99% 并且在每个 MySQL 提交时让 CPU 等待 IO。

我在互联网上看到很多人遇到这个问题,他们的解决方案是使用 barrier = 0 进行挂载。那会完全禁用日记功能吗?我的服务器有 UPS 并且很想这样做,我应该这样做吗?

mysql linux performance python

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

一台虚拟机能否拥有多台底层物理机的 CPU 和 RAM 资源?

我们正在研究在这里实施一些虚拟化服务器,但我们不知道哪种更适合我们。有些人说最好有两台巨大的服务器,而另一些人说最好有 10 台中端服务器。

我们有一个传统的 Visual Foxpro 应用程序,它现在在 Dual Xeon E5405 @ 2GHz 和 16Gb 的 RAM 上运行。当前服务器由于活跃用户的数量和在其上运行的进程而变得太慢。虚拟化此服务器将使我们受益于更快的灾难恢复。

所以问题是,如果有 10 台物理服务器以 1.7GHz 和 4Gb 内存运行,我们可以将一台服务器虚拟成 4 台机器,并让一台虚拟化服务器以 6.8GHz 和 16Gb 内存运行?如果是的话,如果一台机器停止,自动管理这个虚拟机到另一台机器,并对其执行适当的维护,然后再回到它,如何?

virtualization performance

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

10GigE 上的 DRBD 糟糕的同步性能

我已经设置了一对具有 RAID 阵列(8 核、16GB RAM、12x2 TB RAID6)、3 个 10GigE 接口的相同服务器,以托管一些高可用性服务。

这些系统目前运行的是 Debian 7.9 Wheezy oldstable(因为 corosync/pacemaker 在 8.x stable 和 testing 上均不可用)。

  • 本地磁盘性能约为 900 MB/s 写入,1600 MB/s 读取。
  • 机器之间的网络吞吐量超过 700MB/s。
  • 通过 iSCSI,每台机器可以以超过 700 MB/s 的速度写入对方的存储。

但是,无论我如何配置 DRBD,吞吐量都限制在 100MB/s。它看起来真的像一些硬编码限制。我可以通过调整设置来可靠地降低性能,但它永远不会超过 1Gbit(一次达到 122MB/s 几秒钟)。我真的很喜欢这个。

  • 普通香草内核 3.18.24 amd64
  • drbd 8.9.2~rc1-1~bpo70+1

配置分为两个文件global-common.conf::

global {
        usage-count no;
}

common {
        handlers {
        }

        startup {
        }

        disk {
                on-io-error             detach;
         #       no-disk-flushes ;
        }
        net {
                max-epoch-size          8192;
                max-buffers             8192;
                sndbuf-size             2097152;
        }
        syncer …
Run Code Online (Sandbox Code Playgroud)

linux performance debian drbd

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

“降级”的 RAID 6 阵列和“干净”的 RAID 5 阵列有什么区别?

假设您有两个 RAID 阵列,一个有 N 个磁盘,另一个有 N+1 个磁盘。具有 N 个磁盘的阵列被格式化为RAID\xc2\xa05并保持不变,而另一个阵列在其中一个磁盘被移除之前被格式化为RAID\xc2\xa06 。现在,两个阵列都有 N 个磁盘,N-1 个磁盘的可用存储空间,并且可以在丢失一个(多个)磁盘的情况下幸存下来。

\n

除了 RAID 控制器使用的任何元数据之外,这两个阵列之间是否有任何差异(在数据布局、性能和可靠性方面)?我能否将缺少一个磁盘的 RAID\xc2\xa06 阵列转换为一个较少预期磁盘的 RAID\xc2\xa05,并尽可能减少“重塑”/“重写”?

\n

我知道 RAID 5 和 RAID 6 中有不同的“策略”/“对齐”,但这可能超出了这个问题的范围。也许应该假设两个阵列都使用两个 RAID 级别通用的策略。

\n

raid performance raid5 raid6 fault-tolerance

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