Articles of 性能

为什么我看到DRBD有很大的性能?

我看到DRBD的性能比用户手册说的要大得多。 我正在使用DRBD 8.3.7(Fedora 13 RPMs)。 我已经设置了DRBDtesting,并测量了没有DRBD的磁盘和networking的吞吐量: dd if=/dev/zero of=/data.tmp bs=512M count=1 oflag=direct 536870912 bytes (537 MB) copied, 4.62985 s, 116 MB/s /是我正在testing的磁盘上的逻辑卷,安装时没有DRBD iperf的: [ 4] 0.0-10.0 sec 1.10 GBytes 941 Mbits/sec 根据吞吐量开销的预期 ,瓶颈将是较慢的,networking或磁盘和DRBD应该有3%的开销。 在我的情况下,networking和I / O似乎相当匹配。 这听起来像我应该能够达到100 MB /秒左右。 所以,用原始的drbd设备,我得到了 dd if=/dev/zero of=/dev/drbd2 bs=512M count=1 oflag=direct 536870912 bytes (537 MB) copied, 6.61362 s, 81.2 MB/s […]

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

鉴于目前可用的大量TCPalgorithm和基于Linux的移动设备的兴​​起,什么是理想的algorithm要考虑? 从各种实现的阅读,Veno和Westwood +看起来很有趣,但我有兴趣了解真实的数据。

mysql不使用多个cpus

我们的MySQL服务器最近一直在使用大量的CPU(几次达到100%,并停留了一段时间),我注意到它的CPU负载都在一个CPU的一个核心上。 我希望能够在我的服务器上传播到全部4个。 我一直在调整MySQL的设置,以使用更多的内存和更less的CPU,但它偶尔会达到非常高的CPU使用率。 似乎所有关于这个主题都是指thread_concurrency(我读过的只是solaris设置)。 我能在Linux上做什么? 谢谢。

我的Linux服务器需要一个多小时才能启动。 build议?

我正在构build一个CentOS 5.4系统,使用模拟IDE驱动器的读卡器启动紧凑型闪存卡。 这实际上需要大约一个小时才能启动。 超慢部分发生在Grub加载内核的时候。 一旦完成,引导过程的其余部分只需要一分钟左右即可获得login提示。 有没有人有什么build议? 我怀疑它可能与UDMA有关。 我的BIOS中的所有IDE相关似乎结帐。 读性能hdparm告诉我1.77 MB /秒。 哎哟! (但即使如此,仍然不需要一个小时来解压缩和加载内核) [root@server ~]# hdparm -tT /dev/hdc /dev/hdc: Timing cached reads: 2444 MB in 2.00 seconds = 1222.04 MB/sec Timing buffered disk reads: 6 MB in 3.39 seconds = 1.77 MB/sec 试图启用DMA是一个没有去,虽然: [root@server ~]# hdparm -d1 /dev/hdc /dev/hdc: setting using_dma to 1 (on) HDIO_SET_DMA […]

Apache的htcacheclean不能扩展:如何驯服庞大的Apache disk_cache?

我们有一个巨大的disk_cache(> 500.000条目,> 50 GB磁盘空间使用)的Apache设置。 caching每天增长16 GB。 我的问题是,caching似乎正在增长几乎一样快,可以从caching文件系统中删除文件和目录 ! caching分区是iSCSI存储上的ext3文件系统(100GB,“-t news”)。 Apache服务器(充当caching代理)是一个虚拟机。 disk_cacheconfiguration了CacheDirLevels = 2和CacheDirLength = 1,并且包含变体。 典型的文件path是“/htcache/B/x/i_iGfmmHhxJRheg8NHcQ.header.vary/A/W/oGX3MAV3q0bWl30YmA_A.header”。 当我尝试调用htcacheclean来驯服caching(非守护进程模式,“htcacheclean-t -p / htcache -l15G”)时, IOwait将会经过几个小时的时间 。 没有任何可见的行动。 只有几小时后,htcacheclean才开始从caching分区中删除文件,这需要花费几个小时。 (2009年在Apache邮件列表中提出了类似的问题,但没有解决方法: http : //www.mail-archive.com/[email protected]/msg42683.html ) 高IOwait会导致Web服务器的稳定性问题(通往Tomcat后端服务器的桥梁有时会停滞)。 我想出了我自己的修剪脚本,它从caching的随机子目录中删除文件和目录。 只是发现脚本的删除率略高于caching增长率 。 该脚本需要大约10秒的时间来读取一个子目录(例如/ htcache / B / x),并释放一些5 MB的磁盘空间。 在这10秒内,caching又增长了2MB 。 与htcacheclean一样,在连续运行修剪脚本的时候, IOwait会上升到25% 。 任何想法? 这是(特别慢)iSCSI存储的特定问题吗? 我应该为一个巨大的disk_cacheselect一个不同的文件系统吗? EXT2? EXT4? 有没有这种情况下的内核参数优化? (我已经尝试了截止日程安排程序和一个较小的read_ahead_kb,没有效果)。

最佳性能:1TB与仅使用顺序读取/写入的应用程序中较大的驱动器

我有一个multithreading的自定义应用程序; 每个线程都运行在自己的逻辑核心上(工作站是一个双核,具有12个物理核心和24个逻辑核心)。 所以有24个线程同时运行。 在过去的两天里,我一直在研究众多的存储选项,而我的脑袋正在以大约15k rpm的速度旋转。 该应用程序有2种模式,它们是独占的:读取数据或写入数据; 通过这个我的意思是说,他们不会做交错读/写。 每个线程只会进行长时间的连续读取或写入操作。 我需要的总存储量是巨大的:超过50磅(如果你在2016年阅读这个数据,你现在可能对“巨大”这个词感到好笑)。 每个线程将读取或写入大约.8tb的文件 我打算使用jbod,因为如果一个驱动器出现故障,我只需要交换它,应用程序将在10分钟内重新创build数据。 我将使用SATA或SAS控制器将驱动器放入外部塔架或机架(还没有计算出这些的+/-值)。 所以,我的问题是:我正确地认为使用1tb驱动器的这个特定的应用程序会比使用驱动器的2倍,3倍或4倍更好的性能明智吗? 看起来,除非一个3 TB驱动器的连续读/写吞吐量是1 TB驱动器的3倍,否则较小的驱动器是要走的路。 显然,使用3 TB驱动器减less了我需要担心的驱动器数量的三分之一,但这只是一个考虑因素,如果我能达到与1 TB驱动器相同的性能。

特定EC2实例下载速度慢的原因?

我正在尝试解决networking问题。 我有两个EC2实例,相同的区域,相同的types。 在两个EC2实例之一(“坏”实例)中,下载速度非常差(200k / s),而另一个(“好”实例),下载速度很好,在30M / s +)。 为了澄清,我正在谈论下载文件到EC2实例,同时ssh进入服务器,例如运行wget与一个大文件。 我已经尝试过不同的文件,其中包括S3对象和其他地方的大型Linux ISO。 运行ethtool eth0仅返回两个“链接检测:是”。 运行ifconfig时,除了好的实例没有显示错误数据包,坏的实例显示很多以外,两者都返回相同的大部分,即使我没有主动运行下载,数字也增加了大约10秒。 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:168372370 errors:5075643 dropped:0 overruns:0 frame:0 TX packets:122116480 errors:0 dropped:0 overruns:0 carrier:0 两台服务器configuration相同,至less应该是。 如何才能确定导致下载速度慢的原因? 有什么特别的EC2实例可能导致这种情况? 无法知道从哪里开始。 谢谢你的帮助!

虚拟磁盘映像 – 文件或分区

我正在研究使用文件与分区之间的区别,以便在虚拟机使用中存储虚拟磁盘映像。 常见的知识是基于分区的映像比基于文件的映像更快,因为开销减less了。 这是有道理的,但我从来没有看到任何实际的数字。 我自己的testing带来了不同的结果。 当我testing一个直接到分区的虚拟磁盘,然后用ext4格式化同一个分区时,创build一个存储在ext4文件系统上的虚拟磁盘镜像,然后进行基准testing,直接到分区的虚拟化没有任何加速磁盘。 相反,在一些系统上,基于文件的映像甚至更快(可能是由于主机操作系统caching或类似的东西)。 这个testing在很多系统上重复了很多次,结果相当一致。 因此,也许抛出性能的理由,使用分区而不是虚拟磁盘映像仍然被认为是更好的 ? 有直接分区访问比图像文件更好的其他原因吗? 或者也许有其他的理由去相反? 在原始分区映像中没有获得的虚拟磁盘文件格式中的一种可能是一个优点?

Windows防火墙 – 全面阻止IP地址范围 – 性能考虑因素?

我们的其中一项服务是在英国境内的200名员工专用的外联网。 我们看到来自中国,俄罗斯,乌克兰和尼日利亚的大量login尝试。 我有大量的IP范围,我想阻止。 有成千上万的条目。 (为了这个讨论的目的,我没有兴趣开放一个关于阻止整个国家是非的辩论,这是我的要求 – 我需要完成它。) 我写了一个Powershell脚本,每24小时更新一次列表,并将填充Windows防火墙与规则。 但是,我很担心激活它。 我的问题是,Windows防火墙在以这种方式处理数千个阻止规则方面的效率如何? 比如说,如果我的脚本包含了10000个块规则(甚至是10万个),它会有效地工作还是停下来? 虽然我想尽可能保护我的Web服务器,但我需要确保Web服务器能够快速处理请求。 UPDATE 我决定抓住机会运行PowerShell脚本。 我已经去了一个稍微不同的技术。 我创build了一个规则,而不是创build6700个规则(覆盖数百万个IP),并将所有错误的IP范围推送到所有远程地址部分的母亲。 结果 :完美地工作。 阻挡大部分中国,俄罗斯,台湾,乌克兰和尼日利亚,这是我们入侵黑客攻击最多的地方。 性能没有明显的差异。 我们似乎在没有任何改变的情况下提供相同数量的请求。 一个用于Windows防火墙。 它似乎能够非常有效地处理数千个IP块。 更新2 – 反馈 脚本已经存在了好几天了,所以我想你会很感激一些反馈。 我将脚本设置为每天运行的计划作业,使用新的IP范围更新防火墙,并从CSV文件读入。 这一切都完美,防火墙function非常快。 但有一个警告的字眼:脚本本身需要约。 运行4-5分钟,在这段时间内,CPU占用最大,Web请求极其缓慢。 因此,我build议在晚上或在不期待重负载的维护时段内运行脚本。 对我来说,解决scheme是在每个负载平衡服务器上的不同时间运行脚本,以便在执行过程中不会降低性能。 这是脚本: $csv = Import-Csv -Path 'C:\Scripts\IP Block List.csv' $data = @() $csv | ForEach-Object { $data += $_.From + "-" + $_.To […]

networking监控的战略,以提高networking健康?

目标 是要找出哪些networking部分应该升级/重组,以提高networking的健康(可靠性和性能)。 监控networkingstream量,检测瓶颈,延迟,丢包的方法有哪些? 我可以从networking中的1点做到吗,还是必须将我的电脑插入特定的networking位置? 什么是检查networking负载,检测瓶颈等最好的策略? 现在有很多工具,但是正在安装并运行足够的ntop , cacti ? 我search了一下,发现了一些说 ntop是一个显示networking使用情况的networkingstream量探测器,类似于stream行的Unix命令。 但直到我明白如何收集数据,我才能使用它,所以我问这个问题。 背景 我们的networking完全build立在廉价的networking交换机上,但是networking已经大大扩展了,包括计算机,networking摄像机和其他一些带有networking接口的硬件。 所有的networking设备都是100mbit,没有一个是1gbit。 摄像机logging在远处的几台电脑上,在远处的其他电脑上观看。 电脑不超过50个,但很less有很远的地方(这里的面积很大),有些距离300米以外。有一个无线电连接和光纤connceting这些地方。 这些电脑通常连接数据库应用程序。 networking地图 红线是光纤 黑线是以太网电缆 盒子是物理位置