Styxx
Forum Member / Участник форума
Участник № / Member № 74
отправлено / posted
Нас етот релиз интересовал еще тем, что была сделана оптимизация для работы СПАД-архива для 128Мб ОЗУ. В этом направлении - улучшений пока не видим.
Был такой слух что есть некий лимит на размер СПАД-архива - и что если он больше X Мб, то работать будет плохо.
У нас 50Мб И при запуске Супервизора и попытке пролистать архив - ждем ровно 10Мит Сетка - 2 машины.
отправлено / posted
Во-первых, оптимизировать не нам надо, а самим пользователям. Дело в том, что в ОС Windows есть такое понятие как виртуальная память и располагается она на жестком диске, и когда заканчивается свободная физическая оперативная память (особенно ее любят "кушать" ОС семейства Win2K и WinXP), то ОС принимается все данные размещать в виртуальной - а это дисковые операции. Практика показывает, что работа системы в таких случаях замедляется в 10-15 раз (и это еще на Р4 с жестким диском UDMA100 тестировалось, что уж говорить про более медленные платформы)! При работе со СПАД (особенно при взятии из него выборок) МРВ выделяет в памяти буфер (примерно 12% от размера СПАД архива - это максимум), через который осуществляется обмен с файлом архива для ускорения выборки. Теперь представим ситуацию, когда вся физическая память уже занята и ОС перешла на виртуальную: 1) При обращении клиента за архивными данными МРВ выделяет буфер памяти - он естественно сел в виртуальную память на жесткий диск. (1-я дисковая операция). 2) Производится выборка из СПАД блока данных в выделенный буфер. (2 дисковые операции: чтение из СПАД и запись данных в буфер). 3) Поиск данных в буфере (последовательный перебор по записям - жуткие дисковые операции с виртуальной памятью). Если данные не найдены - переходим к п.№2 и так до тех пор, пока не будут найдены необходимые данные по запросу. 4) Выдача данных клиенту (опять дисковая операция - чтение из виртуальной памяти).
Не забывайте еще и то, что во время всех этих операций МРВ еще должен продолжать писать данные в архив.
Если прикинуть объемы работы со СПАД по количеству записей и из размеру (16 байт на запись) - нетрудно подсчитать, почему "тормозит" клиент при обращении к МРВ за архивными данными. Примерно в 99% случаев сеть тут не при чем, все дело в ресурсах ПК, на котором работает МРВ. Не жалейте физической оперативной памяти - это важный элемент системы!