Я пытаюсь переместить наши 2 веб-сайта и некоторые связанные приложения с одного виртуального частного сервера на другой. Новый сервер намного мощнее, имеет больше памяти и больше места на диске. Однако один из веб-сайтов плохо работает в новой среде.
Я скопировал конфигурацию с нашего старого сервера, экспортировав настройки IIS и файлы xcopy. Один из веб-сайтов находится на .NET 2.0, и с этим сайтом все в порядке. Однако другой наш сайт (корзина покупок сторонних производителей, использующая .NET 3.5) работает очень медленно, особенно при переходе со страницы корзины покупок на страницу оформления заказа.
Я 2 дня охотился за объяснением этого. За это время я сделал несколько вещей, чтобы посмотреть, смогу ли я хотя бы изменить поведение, но без особого успеха. Вот список того, что я пробовал:
В любом случае, я подумал, что просто выложу это на случай, если что-то упустил. Я провожу тестирование с использованием конфигурации файла hosts, поскольку DNS в настоящее время указывает на старый сервер. Имя хоста необходимо для доступа к сайту. Две конфигурации одного и того же сайта можно сравнить, чередуя эти 2 записи файла hosts:
# New Server (with slowness)
#173.0.131.172 www.foldingchairdepot.com
# Old Server (working fine)
67.215.161.58 www.foldingchairdepot.com
Новый сервер - Windows Server 2003 RC2 Enterprise Edition.
Странно то, что, хотя я наблюдаю медлительность на клиенте, загрузка процессора на сервере практически отсутствует. Я проверил несколькими способами, что определенно достигаю нового сервера с записью файла хоста. Я также пробовал использовать 2 разных интернет-соединения и несколько разных версий браузера.
Мы будем благодарны за любую помощь, чтобы попытаться решить эту проблему.
Проведя еще несколько исследований, я обнаружил, в чем проблема. Оказывается, новый виртуальный частный сервер размещался в другом месте, чем старый. Само по себе это не было проблемой, но база данных все еще находилась в старом месте на расстоянии 1200 миль.
В любом случае, решение моей проблемы - переместить базу данных в тот же объект (и локальную сеть), что и VPS, и я сейчас этим занимаюсь.
Ты определенно сделал домашнее задание. Это и хорошо, и плохо. Это означает, что вы предоставили отличную информацию, но не оставляет никаких легких предложений. ;)
Некоторые предложения:
Я заметил, что домашняя страница «большую часть времени» не работает на старом сайте, и я заметил, что даже некоторые изображения не работают. Например, это изображение. Возможно, это причина сбоя. Если вы можете выяснить, почему файл .gif не работает, это может привести к ответам на остальные вопросы.
Проверьте журналы IIS на наличие подсказок. Если вы еще этого не сделали, вы можете изменить настройки журнала, чтобы включить затраченное время. Это пригодится, как и код состояния. Сравните посещение хорошего сервера с новым сервером и посмотрите, отличаются ли они. Любые отличия будут хорошими лидами.
Ознакомьтесь с Event Viewer и Process Monitor (www.systeminternals.com). Procmon удобен для отслеживания проблем с отказом в доступе.
Попробуйте сравнить статический сайт (несколько HTML-страниц) между серверами, затем простой сайт .asp и, наконец, простой сайт .aspx. Посмотрите, сможете ли вы сузить область, в которой производительность отличается.