Назад | Перейти на главную страницу

как я могу повлиять на кеширование DNS в приложении PHP / Memcache

На очень загруженном веб-сервере Ubuntu / PHP я обнаружил, что строка PHP:

$ memcache-> connect ("int-aws_ec2.memcached.myapp.net", 11211);

иногда занимает ~ 5 секунд.

Замена url на ip-адрес снижает нагрузку на сервер с ~ 20 до 0

У меня вопрос - где настройки, которые влияют на кеширование DNS для этого? Это на уровне сервера или в библиотеке memcache? Как я могу это изменить?

Дополнительная информация: Ubuntu 10.04 lucid PHP: 5.3.2-1ubuntu4.10 Apache / 2.2.14 (Ubuntu) Amazon EC2

Еще больше информации в комментарии Селады:

Обработка DNS для сервера memcache выполняется с помощью scalr (платформа, которую я использую для управления облачными ресурсами). У них есть клиент, расположенный на экземплярах, и их собственные DNS-серверы.

/etc/nsswitch.conf - hosts: files dns /etc/resolv.conf: nameserver 172.16.0.23 домен ec2.внутренний поиск ec2.internal

Домен не находится в hosts.conf. Чтобы проверить, запускаю ли я nscd, я использовал /etc/init.d/nscd stop и получил сообщение «нет такого файла», так что, думаю, я не запускаю nscd.

Спасибо !

В итоге я сделал двойную буферизацию IP-адресов в памяти APC (PHP Cache). Это решает все проблемы синхронизации DNS.