天,
我们已经构建了 Apache 2.2.14 的 64 位版本,并将其部署在运行 Sol10 的各种 Sun 服务器上。用于测试的服务器类型是 Sun T2000(32GB 内存)、5120(8GB)和 5240(16GB)。
对于其中的每一个,我们都注意到 CPU 使用率没有明显改善,实际上服务器运行时比运行 32 位版本时稍热。
我们已经通过回滚到 32 位版本然后再次前滚到 64 位版本来确认这一观察结果。由于这是一个主要的网络农场,我们有一个广泛的服务器监控基础设施,其中包含用于各种测量的 RRD 图。图表可用于每日、每周、每月和每年的时间范围。在这些图表中,CPU 使用率的微小变化非常明显,
我们服务器上的命中率全天循环,但保持相当稳定,每台服务器的峰值约为 2k/秒。孩子的数量也是每天循环的,每台服务器在 1k 到 3k 之间变化。由于所有服务器都位于负载平衡层之后,因此不能将阶跃变化归因于命中率或子节点的变化。
我们使用 Sunstudio 12.1 附带的 CC 编译器,并使用以下编译标志。链接标志类似,但没有 -D 定义。
export CFLAGS="-xopenmp=parallel -xalias_level=basic \
-xtarget=ultraT1 -m64 -xarch=sparc -xbuiltin=%all \
-xdepend -xmemalign=8s -xO5 -xprefetch=auto,explicit" \
-D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64
我们在 Apache 配置中没有做任何不寻常的事情,它非常普通。
编辑:性能是根据 CPU 与请求与内存(按此顺序)确定的。64 位使用相同的 CPU 执行的请求更少,内存占用略高。差异在误差范围内,仅在接近满载时才明显
我读过“如何开发以利用 64 位系统? ”这个问题,那里有一些有趣的信息。这似乎主要是一个有关的问题
- 寻址超出 32 位地址空间 4GB 限制的内存,
- 64位值的操作。
在我看来,我们还期望 SSL 性能有所提高。
关于为什么我们的表现没有提高的任何建议?
或者关于看什么的建议?
我们真的应该看到性能提升吗?