Вопрос

Я ограничен следующим, и обойти это невозможно:

  1. Данные, доступные только для чтения:Microsoft Access
  2. JET 4.0 ОЛДБ
  3. ASP.NET 2.0
  4. Общий хост, очень слабый контроль.
  5. ИЛИ Картограф - LLBL Gen Pro

Приложение доступно только для чтения, которое считывает множество баз данных Microsoft Access в папке App_Data.В основном работает нормально.

Под нагрузкой у него начинается сбой при доступе к МБР Access.

Какова наилучшая стратегия доступа к МБР Access, чтобы ограничить ошибки при доступе к ним?Прямо сейчас я пытаюсь, затем поток.Спящий режим (500) при ошибке, затем повторите попытку.

Это было полезно?

Решение

Я думаю, что могут быть способы изменить параметры изоляции / параллелизма / блокировки при доступе к базам данных Access, чтобы устранить накладные расходы на управление блокировками.Возможно попробуй "Mode=Share Deny None;" в строке подключения.Я бы не стал использовать это, если вы каким-либо образом изменяете данные в любое время, поскольку это в значительной степени исключает все управление изоляцией / параллелизмом, которое вы получаете с базой данных.Используйте на свой страх и риск.

Другие советы

Как часто меняются данные?Если он доступен только для чтения, можете ли вы загружать данные из баз данных в кеш и читать их оттуда, а не напрямую из баз данных?

Какие конкретно ошибки вылезают.Я так понимаю, это ошибки соединения?

Это ужасное решение, но если вы действительно «затерялись на необитаемом острове только с этими инструментами», а базы данных доступа полностью доступны только для чтения, тогда создайте несколько копий каждой из них и разрешите только определенное количество подключений к любому из них. их одновременно.Например, если у вас есть две базы данных доступа, MdbAA и MdbBB, создайте такие копии:

  • МдбАА01
  • МдбАА02
  • МдбАА03
  • МдбББ01
  • МдбББ02
  • МдбББ03

Затем, когда придет запрос на MdbAA, посмотрите, сколько сейчас запросов обращается к MdbAA01, если превышает порог, то попробуйте MdbAA02 и т. д.Сделайте то же самое для любых запросов к файлу MdbBB.

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

Потратьте немного денег и получите хранилище sql.Сколько времени вы потратили на установку опоры на сломанную звуковую систему?

Если проект стоит того, чтобы его реализовать, то стоит вложить немного наличных.

Если компания пытается заставить вас пойти по этому пути, объясните, почему имеющийся у вас вариант нежизнеспособен.Если вы предложили вариант изначально, вырастите пару и объясните, почему вы были неправы, но именно так вы можете это исправить.

Извините, если это покажется легкомыслием.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top