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

Сервер Apache обрабатывает второй запрос медленнее, чем первый

У меня есть сервер Apache, на котором есть один виртуальный хост с несколькими псевдонимами серверов, и я испытываю медленное время доступа в зависимости от того, какое имя я использую для доступа к веб-сайту.
Мой файл httpd.conf:

ServerName 192.168.1.11:80
<VirtualHost 192.168.1.11:80>
    Alias /robots.txt /var/www/robots.txt
    Alias /static/ /home/django/www/ERate/static/

    <Directory /home/django/www/ERate/static>
    Order deny,allow
    Allow from all
    </Directory>

    <Location /admin>
    order deny,allow
    deny from all
    allow from 192.168.1 127.0.0.1
    </Location>

    WSGIScriptAlias / /home/django/www/ERate/apache/django.wsgi
    ServerName 192.168.1.11
    ServerAlias webserver.internal.on-tech.com webserver www www.internal.on-tech.com www.data.on-tech.com data.on-tech.com
</VirtualHost>

Когда я пытаюсь получить доступ к серверу с 192.168.1.11, страница загружается в течение секунды или двух, но если я попытаюсь получить к ней доступ с помощью одного из псевдонимов, страница займет 5 секунд в первый раз и 20+ секунд в следующий раз. . Если я подожду несколько минут после доступа к нему, время будет сброшено до 5 секунд.

Я думаю, что проблема в httpd.conf, потому что если я поменяю имя сервера на один из псевдонимов, новое имя сервера станет адресом, по которому доступ будет быстрым. Может ли кто-нибудь объяснить, почему происходит это замедление и как я могу это исправить?

Редактировать: По предложению Малика я изменил соответствующие строки на

ServerName webserver.internal.on-tech.com
ServerAlias webserver www www.internal.on-tech.com www.data.on-tech.com data.on-tech.com

Проблема все еще возникает: доступ к сайту с помощью webserver.internal.on-tech.com происходит значительно быстрее, чем доступ к любому из псевдонимов.

DNS для сайта работает (нет ошибок DNS), и записи DNS для этого сервера

webserver.internal.on-tech.com -> A record: 192.168.1.11
www.internal.on-tech.com -> CName: webserver.internal.on-tech.com

www.data.on-tech.com -> A record: 192.168.1.11
data.on-tech.com -> CName: www.data.on-tech.com

Похоже, проблема была в директиве VirtualHost. Проблема исчезла, когда я изменил свой httpd.conf на следующий:

ServerName webserver.internal.on-tech.com
Alias /robots.txt /var/www/robots.txt
Alias /static/ /home/django/www/ERate/static/

<Directory /home/django/www/ERate/static>
Order deny,allow
Allow from all
</Directory>

<Location /admin>
order deny,allow
deny from all
allow from 192.168.1 127.0.0.1
</Location>

WSGIScriptAlias / /home/django/www/ERate/apache/django.wsgi