У меня следующая ситуация:
Я разрабатывал административную веб-систему с использованием PHP Smarty и Xajax.
У меня не было проблем или проблем при разработке, кроме обычных ошибок при написании кода, но я исправлял эти проблемы на ходу.
Локальная сеть, в которой расположены серверы БД и Apache, имеет доступ в Интернет, и поведение веб-сайта было ожидаемым.
Два дня назад локальная сеть, над которой я работал, была заблокирована для доступа к Интернету, чтобы проверить поведение других систем и попытаться воспроизвести будущую производственную среду, и я заметил, что система, над которой я работал, с этого момента была очень длинной время загрузки, загружается, но это занимает довольно много времени, около 30 секунд или более, тогда как раньше, с доступом в интернет, он загружался мгновенно.
Заметив это, я сказал сетевому администратору снова разрешить этой локальной сети доступ к Интернету, и время загрузки вернулось к норме, после этого эта локальная сеть снова была без Интернета, и снова время загрузки было очень долгим.
Моя умная конфигурация, которая находится во включенном файле в каждом файле php:
$smarty = new Smarty();
$smarty->cache_lifetime = 300;
$smarty->template_dir = "templates";
$smarty->compile_dir = "lib/smarty/templates_c";
$smarty->cache_dir = "lib/smarty/cache";
$smarty->config_dir = "lib/smarty/configs";
так как у меня есть сервер Mysql и сервер Apache во внутренней локальной сети, не должно быть никаких проблем с подключением, так почему это происходит?
Я надеялся, что любой, кто сталкивался с подобной ситуацией, мог бы дать мне подсказку о том, почему это происходит и как ее решить.
Это не было связано со Smarty.
Я решил эту ситуацию, запретив поиск DNS на сервере MySQL.
[mysqld]
# Skip reverse DNS lookup of clients
skip-name-resolve
Теперь с подключением к Интернету или без него изнутри или снаружи локальной сети, он загружается быстро и хорошо.
Других решений пока нет …