Является ли запись в карту мьютекса с несколькими процедурами быстрее, чем одна? и почему?

Вы можете протестировать следующие методы.

  • a Проверьте строку подключения проекта.
  • b Перейдите в сервисы и перезапустите экземпляр SQLServer.
  • c Откройте «Диспетчер конфигурации SQLServer». На левой панели выберите «Конфигурация сети SQLServer» и расширьте его. Выберите «Протоколы для MSSQLServer». На правой панели dbl нажмите «TCP / IP». В «Протоколе» на вкладке «Включено» на «Да». На вкладке «IP-адреса» прокрутите вниз. В «IPAll» установите «TCP-порт» на 1433
  • . d Откройте «Брандмауэр с расширенной безопасностью». В правой tab выберите «Inbound Rules»

. В средней вкладке найдите запись, в которой «локальный порт» равен 1433. Если вы не можете найти ее, попробуйте создать ее со следующими уровнями

  • В меню «Пуск» выберите «Выполнить», введите «WF.msc» и нажмите «ОК»
  • . В левой панели нажмите «Брандмауэр Windows с повышенной безопасностью»
  • На правой панели щелкните правой кнопкой мыши «Входящие правила», а затем нажмите «Новое правило»
  • . В диалоговом окне «Тип правила» выберите «Порт» и нажмите «Далее»
  • В диалоговом окне «Протокол и порты» выберите «TCP» и выберите «Конкретные локальные порты», затем введите номер порта 1433, нажмите «Далее»
  • . В диалоговом окне «Действие» выберите «Разрешить подключение», а затем нажмите «Далее»
  • . В диалоговом окне «Профиль» проверьте домен , Private и Public, затем щелкните Next
  • В диалоговом окне «Имя» введите «SQL 1433 Port» и описание описания для описания. Затем нажмите «Готово»
  1. . Затем на средней вкладке дважды щелкните найденный элемент (экземпляр) или созданный вами элемент «SQL 1433 Port».
  2. Выберите вкладку «Область» в открывшемся диалоговом окне (Свойства SQL Server)
  3. На локальном ПК Перейдите на google.com в свой браузер и выполните поиск «Мой IP».
  4. затем копия вашего «IP»
  5. . Перейдите на удаленный сервер и в диалоговом окне «Свойства SQL Server» на вкладке «Область» в «Удаленный IP-адрес» выберите параметр «Эти IP-адреса» и нажмите кнопку «Добавить»
  6. . В открывшемся диалоговом окне (IP-адрес) выберите «Этот IP-адрес или подсеть» и вставьте свой «IP», нажмите кнопку «ОК».
0
задан Alexander 28 March 2019 в 03:31
поделиться

1 ответ

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

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

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

Для большей эффективности используйте лучшую карту, например, , или , это . Созданная вами карта вообще не допускает параллелизма.

0
ответ дан Sean F 28 March 2019 в 03:31
поделиться
Другие вопросы по тегам:

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