Иван777
Дата: 15.09.2006 23:38:38
Добрый день, подскажите неопытному.
У меня есть сайт, использует БД mssql 2005.
Какой то нехороший человек написал скрипт который обновляет страницу моего сайта, тем самым открывая огромное кол-во соединений к базе. Это приводит к тормозам.
Можно ли средствами mssql ограничить кол-во запросов для этого пользователя, который открывает столько соединений?
Доупустим не более 20 запросов в минуту, что-то типа этого.
Гавриленко Сергей Алексеевич
Дата: 15.09.2006 23:41:39
Вы уверены, что "к тормозам" приводит именно "огромное кол-во соединений к базе"?
И, самое главное, расскажите, как выясняли причину тормозов.
Иван777
Дата: 15.09.2006 23:58:59
Спасибо за ответ. Это наш конкурент, он сам признался, что так шалит.
Как бы ограничить кол-во запросов посылаемых одним пользователем по-времени? Фаервол ясно. А на уровне базы?
Михаил Иоссель
Дата: 17.09.2006 16:03:03
Завести логический счетчик и протащить Ip адрес, с которого идут запросы в какую-нить табличку . Дальше написать красивый код , оценивающий количество текущих запросов.
aleks2
Дата: 17.09.2006 19:34:08
Иван777 |
Добрый день, подскажите неопытному.
У меня есть сайт, использует БД mssql 2005.
Какой то нехороший человек написал скрипт который обновляет страницу моего сайта, тем самым открывая огромное кол-во соединений к базе. Это приводит к тормозам.
Можно ли средствами mssql ограничить кол-во запросов для этого пользователя, который открывает столько соединений? Доупустим не более 20 запросов в минуту, что-то типа этого. |
Не эффективнее ли переписать код ASP (или чего там у тебя), чтобы оно не открывало "огромное кол-во соединений к базе"?
sqllex
Дата: 17.09.2006 22:43:21
Допустим, будет одно соединение, но при обновлении страницы будет вызываться запрос(ы) снова и снова. Т.е. обращение к серверу и нагрузка на него.
Автору.
На уровне базы - это неправильно. СУБД должен заниматься своим делом, разной фигней, которую до него должны сделать фаервол, движок сайта и т.п.