минимальная необходимая пропускная способность для удаленного сервера базы данных

Вы можете делать следующее, но у меня нет системы тестирования для работы с в это время.

Создайте пакетный файл со следующей командой:

@echo off
rasdial "Name of GPRS connection" [username [password]]

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

Сохраните пакетный файл где-нибудь, Вы будете помнить (как C:\Windows или C:\Scripts или что-то), работать gpedit.msc, перейдите к Computer Settings -> Windows Settings -> Scripts (Startup/Shutdown) и дважды щелкните по Startup.

Однажды Startup Properties загрузки диалогового окна, добавляет новый сценарий, который указывает на пакетный файл, созданный выше (исключая: C:\Windows\DialGPRS.cmd). и хит OK. На следующей системной перезагрузке компьютер автоматически запустит любые скрипты, перечисленные в локальном редакторе групповой политики.

Так как я не могу протестировать это, это может выполнить команду и сбой для набора номера соединения перед сетью, или компьютер готов на самом деле обработать соединение. Если это так, необходимо будет использовать два пакетных файла вместо этого. Эти два пакетных файла позволяют нам обходить тайм-аут сценария, который мог заставить Windows завершать наш сценарий пакетной обработки, если бы он занял слишком много времени.

Пакетный файл, запущенный компьютером, запускает сценарий:
C:\Windows\StartGPRSConnection.cmd

start /min "" "C:\Windows\DialGPRS.cmd"

Пакетный файл запускается предыдущим пакетным файлом:
C:\Windows\DialGPRS.cmd

@echo off
timeout 30
rasdial "Name of GPRS connection" [username [password]]

Первый пакетный файл называет Windows во время системного запуска. Это запускает фактический сценарий набора как другой процесс и сразу выходит так, чтобы Ваш компьютер не ожидал в Running Computer Startup Scripts фаза запуска. Команда тайм-аута (доступный в Сервере 2003/Vista / + и выше только, не доступный в XP) берет число секунд, Вы хотите ожидать как его аргумент. В примере выше его будет ожидать в течение 30 секунд прежде, чем попытаться набрать соединение. Очевидно, это может быть увеличено или уменьшено по мере необходимости.

1
задан 16 January 2011 в 16:55
5 ответов

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

4
ответ дан 3 December 2019 в 16:29

Поскольку Вы не собираетесь передавать много данных, Вам не будет нужно слишком много пропускной способности. Дополнительно сжатие с помощью f.e. Туннели SSH могли помочь.

По моему опыту, задержка является намного большей проблемой для удаленного (DB) приложения.

2
ответ дан 3 December 2019 в 16:29

Вы также могли настроить локальные экземпляры MySQL в подобном кластеру решении. Распространение изменений было бы организовано асинхронно самой базой данных.

1
ответ дан 3 December 2019 в 16:29

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

Отправка запросов

Это довольно просто вычислить. Давайте предположим, что это - Ваш запрос:

SELECT COUNT(*) as Qty, Branch
FROM ProdsTable
GROUP BY Branch
ORDER BY Branch

Это - 79 символов. 79 символов = 632 байта, у Вас есть входящее соединение 24 МБ так, чтобы запрос взял 24*1024*1024/632 ограничены одновременные запросы (39819) прежде, чем стать пропускной способностью. Я не могу сказать Вам, сколько времени это возьмет с любой уверенностью хотя потому что:

  • Это - доступная пропускная способность, будет определенно продиктован восходящей скоростью соединения клиента
  • Существуют дополнительные заголовки и аутентификация, которые происходят с запросами, особенно если необходимо инициировать соединение прежде, чем отправить запрос

Но это должно быть довольно быстро.

Получение данных

Давайте примем:

productID CHAR(20)
itemsSold INT

Это - общий итог 20 + 4 байта для каждой строки. 7 строк = 7*(20+4) = 168 байтов. У Вас есть 768 КБ исходящей пропускной способности, таким образом, можно отправить 4 681 запрос того размера одновременно, прежде чем они начнут сжиматься в конце пропускной способности.

Теперь забудьте все, что я только что сказал

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

Единственный способ действительно знать состоит в том, чтобы попробовать.

1
ответ дан 3 December 2019 в 16:29

Требование пропускной способности должно быть связано не только с частотой запросов, но и это должно быть связано с выводом запросов и размером таблицы (таблиц). Например, единый запрос может возвратить одну одну строку, и другой запрос может возвратить тысячи строк. Так, нет никакого определенного ответа, если у Вас нет приблизительного из Вашего размера данных и типа запросов.

0
ответ дан 3 December 2019 в 16:29

Теги

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