标签: performance

如何解决 2 台 Linux 主机之间的延迟问题

2 台 linux 主机之间的延迟约为 0.23 毫秒。它们由一个交换机连接。Ping 和 Wireshark 确认延迟数。但是,我对导致这种延迟的原因一无所知。我如何知道延迟是由于主机 A 或 B 上的 NIC 还是交换机或电缆造成的?

更新:0.23 毫秒的延迟对我现有的应用程序不利,它以非常高的频率发送消息,我想看看它是否可以降低到 0.1 毫秒

networking performance latency linux-networking

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

编译和二进制 linux 发行版/包之间的性能差异

我在互联网上搜索了很多,但找不到确切的答案。

有像 Gentoo(或 FreeBSD)这样的发行版,它不附带二进制文件,而只附带软件包(端口)的源代码。

大多数发行版使用二进制备份(debian 等)。

第一个问题:我可以从编译包中获得多少速度提升?我可以从真实世界的软件包(如 apache 或 mysql)中获得多少速度提升?即每秒查询数?

第二个问题:二进制包是否意味着它不使用第一个AMD 64位CPU之后引入的任何CPU指令?使用 32 位软件包是否意味着该软件包将在 386 上运行并且基本上不使用大多数现代 CPU 指令?

附加信息:

  • 我说的不是桌面,而是服务器环境。
  • 我不在乎编译时间
  • 我有更多的服务器,所以使用源代码包的速度提高15%以上是值得的
  • 请不要喷火。

performance gentoo packages

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

与硬件相关的“低调”代表什么?

当谈到硬件时,我经常读到诸如“Apple Mac 计算机和其他低端设备……”之类的内容,对我来说,这听起来像是低端硬件的一个更好的词,但我不确定。谷歌没有帮助我很好地回答这个问题。有什么与它更相关的吗?我需要它来完全理解一些文章。此处使用的术语例如:HBA H240

存储控制器 - 插卡 - 薄型

hardware performance hba

15
推荐指数
3
解决办法
4878
查看次数

上线第一天:如何不杀死您的网站

假设您有一个漂亮的新站点,其中包含大量数据(如大图像),并且您准备将其放到网上。如果你做“太多”的宣传,在最初的几天里,网站会被要求淹没。

我怎样才能减轻这种风险?

我想过

  • 逐渐上线,就像 SO 和 SF 一样:“私有”测试版、公开测试版、公开测试版
  • 允许 X 连接 会话并发,所以连接的用户仍然有很好的网站体验,其他人有一个很好的道歉信息

我不能:

  • 购买更多服务器,因为在第一天之后,该站点的流量会减少很多 :)

optimization website traffic performance

14
推荐指数
2
解决办法
541
查看次数

实时监控 MS Windows 服务器及其服务

我们的监控办公室有一堆大型高清电视,密切关注我们所有的生产设备。

我们正在监控:

思科路由器

  • 惠普开关
  • HP Proliant 服务器
  • 视窗 2003
  • 信息系统
  • SQL服务器

目前我们使用

  • Nagios 用于正常运行时间/可用性和警报发送
  • 用于带宽使用的仙人掌
  • 在 Vista 上运行的 Perfmon 以提高服务器性能
  • 结合其他工具和我们自己的自定义代码来监控我们的实际应用程序性能。

除了 Perfmon 部分之外,所有这些都很好 - 它为我们提供了我们想要的东西 - 即屏幕上的实时图表,记录某些性能计数器等 - 唯一的问题是设置它是一件真正的苦差事。如果运行 Perfmon 的 Vista PC 重新启动(通常是由于 Windows 更新),那么再次设置所有计数器需要很长时间 - 对于办公室中的某个人来说,实际上需要一两个小时的工作......

任何人都知道一种方法: 1. 添加 Perfmon 计数器的脚本 2. 另一个具有图形输出和 WMI/windows 计数器访问的工具。

谢谢

  • 麦克风

windows monitoring performance perfmon performance-monitoring

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

小文件的慢 NFS 传输性能

我在使用 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 不适合上述情况下的小文件传输吗?还是有一些参数需要调整?

performance nfs

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

我应该在 robots.txt 中阻止哪些机器人和蜘蛛?

为了:

  1. 提高我网站的安全性
  2. 降低带宽要求
  3. 防止电子邮件地址收集

security performance robots.txt

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

内存缓存是如何分布的?

我在 5 个 Web 服务器上运行了 memcache,所有这些服务器都在 php 的主机列表中,并且在前端进行了负载平衡。因此,既然 memcached 应该是分布式的,那么 php 客户端将决定将键/值对写入哪个节点并保留记录以供以后从同一节点检索,对吗?

或者是 php 客户端代码不够聪明,无法做到这一点,而是将数据写入所有服务器,然后从池中随机抽取一张图片进行读取?

但如果它这样做了;写入主机列表/池中的所有实例;那么像http://repcached.sourceforge.net/这样的工具的目的是什么,它复制数据以实现冗余。

我问的原因是因为所有负载平衡的服务器都在运行它,如果它确实写入池中的所有服务器,那么它似乎违背了分发它的目的,所以我应该强制 php 从主机中提取在 localhost 的主机列表中。

performance php5 memcached

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

MySQL 进程超过 100% 的 CPU 使用率

我的 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的输出:

MySQLTuner 输出

top命令:

最高输出

这个问题的原因可能是什么?我可以更改我的my.cnf …

mysql performance cpu-usage

14
推荐指数
3
解决办法
8万
查看次数

当Redis加载大数据集时,某些Linux系统变得非常慢

我收到了一个 Redis 用户的报告,我不知道该回复什么,因为我不是 Linux 及其调度程序领域的专家,但是我们(作为 Redis 项目)需要特别解决此类问题未来与 Redis Cluster 一样,我们将在一个盒子中同时运行许多 Redis 实例。所以我在这里寻求帮助。

问题:

  • 内核:“Linux redis1 2.6.32-305-ec2 #9-Ubuntu SMP Thu Apr 15 08:05:38 UTC 2010 x86_64 GNU/Linux”
  • 大量空闲 RAM,没有其他进程进行大量 I/O。
  • 重要的是,运行在 EC2 大实例上,而不是真正的服务器上。我从未在非虚拟化环境中看到过类似的东西。EC2 实例是:“High-Memory Extra Large Instance 17.1 GB 内存,6.5 ECU(2 个虚拟内核,每个虚拟内核 3.25 EC2 计算单元),420 GB 本地实例存储,64 位平台”

基本上,一旦您重新启动大型 Redis 实例,系统就会变得很慢,您无法再在 shell 上键入内容。当 Redis 加载一个实例时,它会使用 100% 的 CPU(它以尽可能快的速度加载数据)并顺序读取 dump.rdb 文件。I/O 并不是特别高,因为负载受 CPU 限制,而不是 I/O 限制。

为什么一个有两个 CPU 和大量 RAM 的盒子,磁盘上没有交换的东西,到底为什么应该停止处理这个工作负载?

我的印象是这与它是一个 EC2 实例有很大关系,因此与使用的虚拟化技术有关,因为我一直在我的盒子中加载 Redis 24 GB 数据集而没有任何问题(即使使用其他 …

linux performance amazon-ec2 redis

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