Форум » [x]Harbour » Сервер-терминалов и APPEND BLANK » Ответить

Сервер-терминалов и APPEND BLANK

Andrey: Привет всем ! Столкнулся уже давно с непоняткой, всё руки не доходили. Делаю изменение структуры базы и копирую записи в новую базу, типа такого: [pre2] USE (cPath + cFile) ALIAS BASE_OLD EXCLUSIVE NEW USE (cPath + cFile2) ALIAS BASE_NEW EXCLUSIVE NEW ..... SELECT BASE_OLD DO WHILE !EOF() SELECT BASE_OLD // считываю поля в массив aDim IF nI % 500 == 0 // вывод бегунка // вывод надписи и %бегунка ENDIF SELECT BASE_NEW APPEND BLANK // записываю в новую базу aDim FOR nJ := 1 TO LEN(aDim) ..... NEXT SELECT BASE_OLD SKIP nI++ ProcessMessages() // Чтобы форма НЕ замирала ENDDO[/pre2] На домашнем компе да у других юзеров операция проходит минуты за 2 (база порядка 100 тыс.записей). Но вот на сервере-терминалов у одного юзера операция длиться 1 час 20 минут. Сервер хороший 8Гб оперативка, мощнее домашнего компа против 4Гб. система 64bit Windows Server R2 Standart, проц Xeon 4 процессорный 3.10 Ггц Почему так ? Как ускорить эту операцию ? Прога на последних версиях МиниГуи, т.е. Харбор последний версии.

Ответов - 6

PSP: Какая дисковая система? RAID? Аппаратный или программный? Какого уровня? Какие использованы диски? Как настроено кэширование?

MIKHAIL: почему APPEND FROM не подходит ?

Andrey: PSP пишет: Какая дисковая система? RAID? Аппаратный или программный? Какого уровня? Какие использованы диски? Как настроено кэширование? Не знаю... Завтра уточню. MIKHAIL пишет: почему APPEND FROM не подходит ? Не помню из-за чего.... В базе использую новые типы полей: [pre2]+ AutoInc 4 Auto increment = ModTime 8 Last modified date & time of this record ^ RowVers 8 Row version number; modification count of this record @ DayTime 8 Date & Time [/pre2] и при переписывании из одной базы в другую есть возможность контролировать процесс записи.


MIKHAIL: Может стоит замерить время выполнения операций в цикле ? отключить обновление формы например

PSP: Andrey пишет: Не знаю... Завтра уточню. Необязательно. Мой пост был к тому, что на это нужно обратить внимание. Разбираться тут с чужим серваком нет никакого желания))

Andrey: Программа на МиниГуи, т.е. Харбор последней версии. На локальном компе проверки по базам идут - 1 минута (Win8.1 32bit, i5, CPU 3.4GHz, RAM 8Gb-3.47 доступно) ), а на таком же компе где стоит сервер-терминалов (Win2012R2 64bit, i5 CPU 2.9GHz, RAM 16Gb-15.8 доступно) проверка идёт - 21 минуту. Почему такая разница. Где можно подшаманить в настройках сервера ? Проверки разные, чтение или запись полей из одной базы в другую базу, без APPEND BLANK. Кол-во записей в базе всего 60 тыс.



полная версия страницы