如何影响 PHP/Memcache 应用程序上的 DNS 缓存

如何影响 PHP/Memcache 应用程序上的 DNS 缓存

在负载非常高的 Ubuntu/PHP Web 服务器中,我发现了以下 PHP 行:

$memcache->连接(“int-aws_ec2.memcached.myapp.net”,11211);

有时需要~5秒。

用 ip 地址替换 url 可将服务器负载从~20 降低到 0

我的问题是 - 影响此 DNS 缓存的设置在哪里?是在服务器级别还是在 memcache 库中?我该如何更改它?

附加信息:Ubuntu 10.04 lucid PHP:5.3.2-1ubuntu4.10 Apache/2.2.14 (Ubuntu) Amazon EC2

Celada 的评论提供了更多信息:

memcache 服务器的 DNS 处理由 scalr(我用来管理云资源的平台)完成。他们在实例上有一个客户端,还有他们自己的 DNS 服务器。

/etc/nsswitch.conf - 主机:文件 dns /etc/resolv.conf:名称服务器 172.16.0.23 域 ec2.internal 搜索 ec2.internal

域名不在 hosts.conf 中 为了检查我是否运行 nscd,我使用了 /etc/init.d/nscd stop 并收到“没有这样的文件”,所以我想我没有运行 nscd。

谢谢 !

答案1

我最终在 APC(PHP 缓存)内存中对 IP 地址进行了双缓冲。这解决了所有 DNS 计时问题。

相关内容