Доступ к базе данных очень медленный с размещенного веб-сайта и быстрый при доступе с локального хоста

313
Madhav Shenoy

У нас была проблема, которая, кажется, только что возникла из ниоткуда. У нас есть веб-сайт NopCommerce, который наш клиент размещает на своем собственном сервере. У нас есть 1 веб-сервер с Windows 2008R2 IIS 7.5 и сервер базы данных с Windows 2012 и Sql Server 2012 Standard. На сайте есть сертификат SSL от GoDaddy.

Примерно через пару недель мы столкнулись с серьезными проблемами производительности. Кажется, что выбор работает нормально, но когда нам нужно обновление или вставка в базу данных, это занимает очень много времени. Таким образом, мы добавили некоторые записи, и это то, что мы узнали.

Если мы размещаем веб-сайт локально, т.е. через localhost, обновления занимают 750 мс. А для размещенного веб-сайта требуется 10-19 с для одного оператора обновления. И если я скопирую веб-сайт и возьму резервную копию базы данных и разместлю ее на своем ноутбуке с Windows 10 pro. Обновление заявления занимает 80 мс.

Просто так мне понятно, сайт загружается нормально. Все избранные запросы работают отлично, это просто когда мы добавляем продукт в корзину или обновляем настройки администратора, когда производительность идет на собаках.

Может ли кто-нибудь указать нам правильное направление? Мы не уверены, в чем проблема.

Обновление: вот еще немного информации. Это то, что мы сделали до сих пор. Сначала мы подумали, что это проблема самого сайта IIS. Таким образом, мы создали новый сайт IIS и добавили соответствующие привязки. Но сайт все еще был медленным. У нас также есть сайт для разработки, который имеет другой внешний IP-адрес. И этот сайт работает абсолютно нормально. Мы даже пытались сделать так, чтобы этот сайт указывал на нашу производственную папку. И это было быстро. Мы спросили нашего сетевого администратора, и он сказал, что все в порядке. Мы что-то упустили?

0

1 ответ на вопрос

0
bloonacho

Итак, что вы говорите, когда вы размещаете его локально, он загружается быстрее, чем когда он размещен не локально? На концах размещенных веб-сайтов могут быть некоторые проблемы с сетью, но доступ к ним всегда будет быстрее, чем к ресурсам из размещенного сайта.

Я это понимаю. Но будет ли такая огромная разница при доступе к базе данных? Я могу понять определенную задержку. Но задержка в 18 секунд кажется слишком большой, не правда ли? И сайт загружается нормально. Так что отдельные запросы отлично работают. Проблема начинается, когда вы пытаетесь добавить продукт или обновить настройки администратора на веб-сайте. Я обновил свой вопрос, поэтому у меня больше смысла. Madhav Shenoy 5 лет назад 1
Это может быть связано с перегрузкой сети, обслуживающей базу данных. В игре много переменных. Я бы обычно предполагал начать с более широкого диапазона устранения неполадок, начиная с сетевой статистики серверов SQL, использования ЦП / памяти, если были какие-либо недавние изменения в использовании. После того, как вы добились успеха в стеке, вы можете перейти к более мелким задачам и отследить планы выполнения SQL и т. Д. Я лично не являюсь администратором БД SQL, но обмен стека SQL - отличный ресурс, и если информация в отношении этого. Ссылка: https://dba.stackexchange.com/ bloonacho 5 лет назад 0
Нет, в Австралии нет сервера, и сейчас не так много пользователей онлайн. Я выполнил sp_monitor на сервере sql, и он не показывает какого-либо огромного использования сети или использования процессора или памяти. Вот некоторые характеристики cpu_busy: 187715 (19) -211% io_busy: 1899 (0) -0% в режиме ожидания 832879 (47) -522%. Вот скриншот менеджера задач https://imgur.com/a/Bd3Yqmo. И, между прочим, обновление настроек администратора все еще работает. Madhav Shenoy 5 лет назад 0
Единственная причина, по которой я не публикую это на форуме dba, заключается в том, что я не думаю, что это проблема БД. У рассматриваемой таблицы базы данных есть 2000 строк Madhav Shenoy 5 лет назад 0

Похожие вопросы