Официальный сайт студ.городка НГТУ
Болтовня » пожалуйста, помогите подсчитать bandwidth при работе с БД 

#1  15.06.11 06:09

пожалуйста, помогите подсчитать bandwidth при работе с БД

Заранее прошу прощение, если вопрос задан некорректно!

Ситуация: есть главный офис и удаленный офис. В главном офисе находится сервер БД  - SQL server. Из удаленного офиса необходимо делать запросы/получать response и обновлять записи в базе данных.

Необходимо подсчитать минимальную пропускную способность канала (kbps) при работе с сервером базы данных из удаленного офиса.

Дополнительные условия: запросы/изменения в базе данных делают 10 операторов, которые должны  обработать 80 клиентов в 1 час. С каждым клиентом оператор делает порядка 4 запросов в базу данных и 1 раз делает изменения.

P.s. условия взяты из головы, если есть цифры из реального опыта каков трафик базы данных, пожалуйста, поделитесь.

Offline

#2  15.06.11 08:51

Re: пожалуйста, помогите подсчитать bandwidth при работе с БД

в зависимости от полей базы данных.
Если в данных присутствуют например фотографии продукта это будет одна полоса 512/256 в зависимости от размера фоток.
Если только текст то по 128кб на самом деле будет достаточно.

Но это каждому из операторов. Следовательно все потребуется в 4 раза больше. То есть около 1 мбит будет достаточно для всех 10 операторов.

Offline

#3  15.06.11 11:02

Max
Профиль

Re: пожалуйста, помогите подсчитать bandwidth при работе с БД

KOSS написал(а):

Но это каждому из операторов. Следовательно все потребуется в 4 раза больше. То есть около 1 мбит будет достаточно для всех 10 операторов.

гигантоман?

предположим, в запросе нужно выбрать 4 текстовых поля  (всякие там фио, адрес) по 10-200 байт, и 5 штук интов или флоатов (к примеру, цена, дата рождения, ну я хз)
итого в ответе будет (200+10)/2*4 + 4*5 = 440 байт ответа на запрос
плюс оверхед ТСР/IP и обертки базы, минус сжатие. Оверхед TCP/IP: 20 байт IP, сколько там TCP я не помню, ну пусть 20. Так как размер пакета  (MTU) обычно 1500 везде пролазит, то весь ответ 500 байт влезет в 1 пакет, поэтому оверхеда обертки не влияет практически.
На минимально возможно придуманной скорости 32кбит/с (4 кбайт/с) можно получить ответы на 4 запроса менее, чем за 1 секунду. Итого на скорости 32кбит/с можно обслужить 3600 абонентов за час, при условии что делать это равномерным потоком последовательно. Что, собственно, больше, чем исходные 800 в 4.5 раза.

А ты вместо 32кбит насчитал 1 мбит

Ну если говнопрограммист сделал запрос вида select * from t1 join t2 join t3..., а потом в цикле выдирает нужные поля то такая математика ессно не канает. К сожалению, 70% программистов 1С именно такие запросы пишут. Но тут 10 мбит не спасет, ибо если база 1Гиг, и при каждом селекте по факту вся база должна перекачаться на клиента, то каждый запрос будет занимать 16 минут на 10 мбит.

Offline

#4  15.06.11 18:38

Re: пожалуйста, помогите подсчитать bandwidth при работе с БД

Spasibo ogromnoe!

Offline

Болтовня » пожалуйста, помогите подсчитать bandwidth при работе с БД 

ФутЕр:)

© Hostel Web Group, 2002-2025.   Сообщить об ошибке

Сгенерировано за 0.621 сек.
Выполнено 14 запросов.