2 台 linux 主机之间的延迟约为 0.23 毫秒。它们由一个交换机连接。Ping 和 Wireshark 确认延迟数。但是,我对导致这种延迟的原因一无所知。我如何知道延迟是由于主机 A 或 B 上的 NIC 还是交换机或电缆造成的?
更新:0.23 毫秒的延迟对我现有的应用程序不利,它以非常高的频率发送消息,我想看看它是否可以降低到 0.1 毫秒
我在互联网上搜索了很多,但找不到确切的答案。
有像 Gentoo(或 FreeBSD)这样的发行版,它不附带二进制文件,而只附带软件包(端口)的源代码。
大多数发行版使用二进制备份(debian 等)。
第一个问题:我可以从编译包中获得多少速度提升?我可以从真实世界的软件包(如 apache 或 mysql)中获得多少速度提升?即每秒查询数?
第二个问题:二进制包是否意味着它不使用第一个AMD 64位CPU之后引入的任何CPU指令?使用 32 位软件包是否意味着该软件包将在 386 上运行并且基本上不使用大多数现代 CPU 指令?
附加信息:
当谈到硬件时,我经常读到诸如“Apple Mac 计算机和其他低端设备……”之类的内容,对我来说,这听起来像是低端硬件的一个更好的词,但我不确定。谷歌没有帮助我很好地回答这个问题。有什么与它更相关的吗?我需要它来完全理解一些文章。此处使用的术语例如:HBA H240
存储控制器 - 插卡 - 薄型
假设您有一个漂亮的新站点,其中包含大量数据(如大图像),并且您准备将其放到网上。如果你做“太多”的宣传,在最初的几天里,网站会被要求淹没。
我怎样才能减轻这种风险?
我想过
我不能:
我们的监控办公室有一堆大型高清电视,密切关注我们所有的生产设备。
我们正在监控:
思科路由器
目前我们使用
除了 Perfmon 部分之外,所有这些都很好 - 它为我们提供了我们想要的东西 - 即屏幕上的实时图表,记录某些性能计数器等 - 唯一的问题是设置它是一件真正的苦差事。如果运行 Perfmon 的 Vista PC 重新启动(通常是由于 Windows 更新),那么再次设置所有计数器需要很长时间 - 对于办公室中的某个人来说,实际上需要一两个小时的工作......
任何人都知道一种方法: 1. 添加 Perfmon 计数器的脚本 2. 另一个具有图形输出和 WMI/windows 计数器访问的工具。
谢谢
windows monitoring performance perfmon performance-monitoring
我在使用 RAID 1+0 组合的 HP ML370 G5、Smart Array P400、SAS 磁盘上使用 Openfiler 2.3。
我使用 Openfiler 的基于 Web 的配置从 ext3 分区设置了 NFS 共享,并且我成功地从另一台主机挂载了该共享。两台主机都使用专用的千兆链路连接。
简单的基准测试使用dd:
$ dd if=/dev/zero of=outfile bs=1000 count=2000000
2000000+0 records in
2000000+0 records out
2000000000 bytes (2.0 GB) copied, 34.4737 s, 58.0 MB/s
Run Code Online (Sandbox Code Playgroud)
我看到它可以达到中等传输速度(58.0 MB/s)。
但是,如果我复制包含许多小文件的目录(.php和.jpg总规模约300 MB的,每个文件围绕1-4 KB),该cp过程结束在10分钟左右。
NFS 不适合上述情况下的小文件传输吗?还是有一些参数需要调整?
为了:
我在 5 个 Web 服务器上运行了 memcache,所有这些服务器都在 php 的主机列表中,并且在前端进行了负载平衡。因此,既然 memcached 应该是分布式的,那么 php 客户端将决定将键/值对写入哪个节点并保留记录以供以后从同一节点检索,对吗?
或者是 php 客户端代码不够聪明,无法做到这一点,而是将数据写入所有服务器,然后从池中随机抽取一张图片进行读取?
但如果它这样做了;写入主机列表/池中的所有实例;那么像http://repcached.sourceforge.net/这样的工具的目的是什么,它复制数据以实现冗余。
我问的原因是因为所有负载平衡的服务器都在运行它,如果它确实写入池中的所有服务器,那么它似乎违背了分发它的目的,所以我应该强制 php 从主机中提取在 localhost 的主机列表中。
我的 LAMP 服务器遇到了一些问题。最近一切都变得非常缓慢,尽管我网站上的访问者数量没有太大变化。当我运行top命令时,它说 MySQL 进程占用了 150-200% 的 CPU。这怎么可能,我一直认为 100% 是最大值?
我正在运行具有 1.5 GB RAM 的 Ubuntu 9.04 服务器版。
my.cnf 设置:
key_buffer = 64M
max_allowed_packet = 16M
thread_stack = 192K
thread_cache_size = 8
myisam-recover = BACKUP
max_connections = 200
table_cache = 512
table_definition_cache = 512
thread_concurrency = 2
read_buffer_size = 1M
sort_buffer_size = 4M
join_buffer_size = 1M
query_cache_limit = 1M # the maximum size of individual query results
query_cache_size = 128M
Run Code Online (Sandbox Code Playgroud)
这是MySQLTuner的输出:

该top命令:

这个问题的原因可能是什么?我可以更改我的my.cnf …
我收到了一个 Redis 用户的报告,我不知道该回复什么,因为我不是 Linux 及其调度程序领域的专家,但是我们(作为 Redis 项目)需要特别解决此类问题未来与 Redis Cluster 一样,我们将在一个盒子中同时运行许多 Redis 实例。所以我在这里寻求帮助。
问题:
基本上,一旦您重新启动大型 Redis 实例,系统就会变得很慢,您无法再在 shell 上键入内容。当 Redis 加载一个实例时,它会使用 100% 的 CPU(它以尽可能快的速度加载数据)并顺序读取 dump.rdb 文件。I/O 并不是特别高,因为负载受 CPU 限制,而不是 I/O 限制。
为什么一个有两个 CPU 和大量 RAM 的盒子,磁盘上没有交换的东西,到底为什么应该停止处理这个工作负载?
我的印象是这与它是一个 EC2 实例有很大关系,因此与使用的虚拟化技术有关,因为我一直在我的盒子中加载 Redis 24 GB 数据集而没有任何问题(即使使用其他 …
performance ×10
amazon-ec2 ×1
cpu-usage ×1
gentoo ×1
hardware ×1
hba ×1
latency ×1
linux ×1
memcached ×1
monitoring ×1
mysql ×1
networking ×1
nfs ×1
optimization ×1
packages ×1
perfmon ×1
php5 ×1
redis ×1
robots.txt ×1
security ×1
traffic ×1
website ×1
windows ×1