:: Visual Foxpro, Foxpro for DOS
Re: VFP9 Одновременная работа с dbf по сети - тормоза!
reware

Сообщений: 4116
Откуда: Хабаровск
Дата регистрации: 21.07.2008
LionEyE
Прочитал эти сообщения и кое что понял. Действительно при миграции кое что добавлял в виндовый проект. Как результат, при запуске нового пользователя, при создании под него профиля, виндовый пакет начинает переходить в монопольный режим работы, т.е. выставляется SET EXCLUSIVE ON при работающих других пользователях.

Та-а-к, больше этому человеку конфет не давать В который раз люди напарываются на грабли "Так же у нас есть та же самая прога, только под FPD DOS" или что-то подобное. Не бывает таких идентичных клонов, даже если у них родители одной крови.
Ratings: 0 negative/0 positive
Re: VFP9 Одновременная работа с dbf по сети - тормоза!
XAndy

Сообщений: 3803
Откуда: Киев
Дата регистрации: 05.02.2004
По крайней мере человек признался, а не сбежал в кусты, оставив конфу в неведении , уже хорошо.
Ratings: 0 negative/0 positive
Re: VFP9 Одновременная работа с dbf по сети - тормоза!
iren

Сообщений: 511
Дата регистрации: 28.10.2003
У нас работают программы, написанные на Foxpro2.6. После перехода с сервера NOVEL на сервер с WINDOWS2003 также стали наблюдаться жуткие тормоза при работе нескольких пользователей. Не пойму, в какую сторону "смотреть".
Ratings: 0 negative/0 positive
Re: VFP9 Одновременная работа с dbf по сети - тормоза!
alextash

Сообщений: 2281
Откуда: НСК
Дата регистрации: 03.05.2006
Были сервера на PIV начального уровня Novell 3.12
Перешёл на Win2003 на Core2Duo -
падение на 10-20% скорости работы программы на Clipper'е
Менял только сервера (остальная сеть витая пара 100 мб, 40 раб.станций)
привыкли
Были другие сервера на PIV начального уровня Novell 3.12
Перешёл на Win2003 на Core2Duo -
падение на 10-20% скорости работы программы на Clipper'е, плюс повисание сервера
поставил Win2008 - работает.
Менял только сервера (остальная сеть витая пара 100 мб, 20 раб.станций)
привыкли

Диагноз: 1.Плохая сиделка (ну не всё правильно настроил)
2. Windows сервера - не файл-сервер и предназначены для работы SQL-серверов.
Ratings: 0 negative/0 positive
Re: VFP9 Одновременная работа с dbf по сети - тормоза!
ges2005

Сообщений: 4
Дата регистрации: 23.12.2009
Есть программа на VFP 5.0. Работает относительно быстро (ок.50 пользователей, только чтение, файл-сервер). Тот же самый код под VFP 9.0 (SP1) работает значительно медленнее, особенно Select-ы. Никаких ошибок не выскакивает, но разница в скорости очень заметна. Антивирус Nod32, файлы dbf, cdx исключены из рассмотрения. set reprocess=0, set refresh=0, set tablevalidate=0. Почему такая разница в скорости? Ответьте please, заранее спасибо.
Ratings: 0 negative/0 positive
Re: VFP9 Одновременная работа с dbf по сети - тормоза!
ssa

Сообщений: 12999
Откуда: Москва
Дата регистрации: 23.03.2005
ges2005
Есть программа на VFP 5.0. Работает относительно быстро (ок.50 пользователей, только чтение, файл-сервер). Тот же самый код под VFP 9.0 (SP1) работает значительно медленнее, особенно Select-ы. Никаких ошибок не выскакивает, но разница в скорости очень заметна. Антивирус Nod32, файлы dbf, cdx исключены из рассмотрения. set reprocess=0, set refresh=0, set tablevalidate=0. Почему такая разница в скорости? Ответьте please, заранее спасибо.
А теперь надо сообщить кодовые страницы таблиц и самого фокса?

------------------
Лень - это неосознанная мудрость.
Ratings: 0 negative/0 positive
Re: VFP9 Одновременная работа с dbf по сети - тормоза!
Владимир Максимов

Сообщений: 14094
Откуда: Москва
Дата регистрации: 02.09.2000
ges2005
Есть программа на VFP 5.0. Работает относительно быстро (ок.50 пользователей, только чтение, файл-сервер). Тот же самый код под VFP 9.0 (SP1) работает значительно медленнее, особенно Select-ы. Никаких ошибок не выскакивает, но разница в скорости очень заметна. Антивирус Nod32, файлы dbf, cdx исключены из рассмотрения. set reprocess=0, set refresh=0, set tablevalidate=0. Почему такая разница в скорости? Ответьте please, заранее спасибо.

Команда SET ENGINEBEHAVIOR

VFP9 не использует индексы созданные для таблиц в кодовой странице отличной от текущей кодовой страницы среды FoxPro. Т.е. если

CPCURRENT() <> CPDBF()

то VFP9 индексы такой таблицы в командах Select-SQL использовать не будет. Соответственно - резкое падение производительности
Ratings: 0 negative/0 positive
Re: VFP9 Одновременная работа с dbf по сети - тормоза!
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
Добавлю - и правильно делает, что не использует! Т.к. подобное использование приводит к некорректным результатам в запросах в ряде случаев.


------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: VFP9 Одновременная работа с dbf по сети - тормоза!
iren

Сообщений: 511
Дата регистрации: 28.10.2003
А что можно предпринять для ускорения?
У меня программа на VFP9 использует таблицы, создаваемые в Foxpro2.6
Программы, написанные на Foxpro2.6, переводить на VFP9 пока никто не собирается, т.к. все увязано на централизованной разработке задач, написанных под DOS.
Ratings: 0 negative/0 positive
Re: VFP9 Одновременная работа с dbf по сети - тормоза!
Владимир Максимов

Сообщений: 14094
Откуда: Москва
Дата регистрации: 02.09.2000
iren
А что можно предпринять для ускорения?
У меня программа на VFP9 использует таблицы, создаваемые в Foxpro2.6
Программы, написанные на Foxpro2.6, переводить на VFP9 пока никто не собирается, т.к. все увязано на централизованной разработке задач, написанных под DOS.

"Передаем сигналы точного времени: Пи...Пи...Пи... Для тех, кто не расслышал, передаем их еще раз..."

Команда SET ENGINEBEHAVIOR

Этот фрагмент HELP появился только в SP1, поэтому нет в русском переводе, но, думаю, достаточно понятно написано.

Цитата:
If you cannot change either the Visual FoxPro codepage or the table codepage to match, you can force optimization to work as it did in Visual FoxPro 8 and prior versions using the SET ENGINEBEHAVIOR Command with either 80 or 70 as a parameter.
Ratings: 0 negative/0 positive
Re: VFP9 Одновременная работа с dbf по сети - тормоза!
ges2005

Сообщений: 4
Дата регистрации: 23.12.2009
Огромное спасибо за ответы!
Результат: SET ENGINEBEHAVIOR=70 - скорость работы заметно увеличилась и стала почти как в VFP 5.0 (но все же чуть меньше). Настройки set reprocess и set refresh после этого перестали влиять на скорость. Что касается кодовой страницы по умолчанию, настройка CODEPAGE=866 в файле config.fpw вызывает ошибку программы- вообще не запускается со словами "файл имя программы.exe не существует". Настройки CODEPAGE=1251 и CODEPAGE=AUTO работают нормально. Буду рыть дальше.
Ratings: 0 negative/0 positive
Re: VFP9 Одновременная работа с dbf по сети - тормоза!
urfin

Сообщений: 328
Дата регистрации: 17.08.2004
Радоваться рано, вот выдержка из HELP VFP9 SP2 :

Цитата:
When you set SET ENGINEBEHAVIOR to 70 or 80 and the code page of the table CPDBF() differs from the current Visual FoxPro code page setting CPCURRENT(), SQL or other Rushmore optimizable commands could return or act upon incorrect records. When you set SET ENGINEBEHAVIOR to 90, Visual FoxPro builds temporary indexes to ensure correct results.

Цитата:
Когда вы устанавливаете SET ENGINEBEHAVIOR 70 или 80 и кодовой страницы таблицы CPDBF() отличается от текущей настройки Visual FoxPro CPCURRENT(), SQL или другие Rushmore оптимизируемые команды могут вернуть неверный результат или некорректно работать. Когда вы устанавливаете SET ENGINEBEHAVIOR TO 90, Visual FoxPro строит временные индексы для обеспечения корректности результатов.

Короче, в случае работы с FPD таблицами из VFP, выбрать можно что-то одно, или вероятность ошибочной работы программы или замедление работы.
Я выбрал второе



Исправлено 1 раз(а). Последнее : urfin, 25.12.09 12:25
Ratings: 0 negative/0 positive
Re: VFP9 Одновременная работа с dbf по сети - тормоза!
ges2005

Сообщений: 4
Дата регистрации: 23.12.2009
Urfin, а ошибочные результаты возможны только в SP2? У меня SP1 в данный момент, в своем хелпе такого не обнаружено. Очень грустно, если выбор- или ошибка, или тормоз. Конечно, Вы сделали правильный выбор, но боюсь, пользователи меня не поймут . Продолжаю рыть.
Ratings: 0 negative/0 positive
Re: VFP9 Одновременная работа с dbf по сети - тормоза!
XAndy

Сообщений: 3803
Откуда: Киев
Дата регистрации: 05.02.2004
ges2005
Не всё так печально, из моего опыта выборки из FPD таблиц с помощью VFP были неправильные только в пару случаях: 1) индекс досовской таблицы содержал условие for по полю с двоичными данными (в т.ч.<32); 2) индекс строился по зашифрованному полю. Оба случая довольно специфичны, а так всё работало. Может народ ещё что-то скажет.
Ratings: 0 negative/0 positive
Re: VFP9 Одновременная работа с dbf по сети - тормоза!
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
Ошибочные результаты не "возможны", а абсолютно точно БУДУТ - и будут они во всех ранних версиях фокса (несчёт 6-ки уже не скажу, но скорее всего и там тоже). Изменение в 9-ке это как раз попытка исправить застарелую ошибку.
Другое дело, что как и пишет Андрей, ошибка возникает при весьма специфических условиях - в частности наличие в символьном поле (или если числовое поле для индекса "кодируется" некоторой функцией в буквенно-цифровую строку) "хитрых" буковок (обычно такое бывает если в поле не текст, а какое-то закодированное содержимое).
Т.е. ХУЖЕ чем было оно не станет - и если данные (индексы) таковы что ранее ошибка не возникала, то она не возникнет и теперь - но если раньше вы просто её не замечали... Тогда да - лучше медленее, но правильно, чем быстро но неверно


------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: VFP9 Одновременная работа с dbf по сети - тормоза!
ges2005

Сообщений: 4
Дата регистрации: 23.12.2009
Ну таких хитростей, как индекс по зашифрованному полю, у нас нет. Есть индексы по нескольким полям: str(поле1,2)+поле2+поле3+str(поле4,4). Никаких ошибок никогда не было. Сейчас тестирую программу с опцией SET ENGINEBEHAVIOR 70, результат абсолютно тот же, что в VFP 5.0, только медленнее в некоторых случаях. Продолжаю тестировать. Понимаете, очень хочется перейти на 9-ку, но не ценой снижения производительности. Спасибо огромное за ответы!
Ratings: 0 negative/0 positive
Re: VFP9 Одновременная работа с dbf по сети - тормоза!
iren

Сообщений: 511
Дата регистрации: 28.10.2003
В программе на VFP9 обращаюсь к таблицам, созданным в Foxpro2.6
Указала
SET ENGINEBEHAVIOR=70
Выполняю команду:
SELECT MAX(tmnapr) FROM dispoh WHERE !DELETED() AND proher='1' INTO ARRAY resoh
Затем анализирую:
IF !ISNULL(resoh)
<нужные команды>
ENDIF
Получаю сообщение: Variable 'RESOH' is not found

Хотя без установки SET ENGINEBEHAVIOR=70 отрабатывало без ошибок...
Ratings: 0 negative/0 positive
Re: VFP9 Одновременная работа с dbf по сети - тормоза!
dimuhametov

Сообщений: 1562
Откуда: Костанай
Дата регистрации: 01.11.2008
iren
В программе на VFP9 обращаюсь к таблицам, созданным в Foxpro2.6
Указала
SET ENGINEBEHAVIOR=70
Выполняю команду:
SELECT MAX(tmnapr) FROM dispoh WHERE !DELETED() AND proher='1' INTO ARRAY resoh
Затем анализирую:
IF !ISNULL(resoh)
<нужные команды>
ENDIF
Получаю сообщение: Variable 'RESOH' is not found

Хотя без установки SET ENGINEBEHAVIOR=70 отрабатывало без ошибок...
Забыли про
LOCAL ARRAY resoh(1)
перед вашим кодом.

------------------
Незнание делает жизнь такой интересной.
Ratings: 0 negative/0 positive
Re: VFP9 Одновременная работа с dbf по сети - тормоза!
ssa

Сообщений: 12999
Откуда: Москва
Дата регистрации: 23.03.2005
iren
В программе на VFP9 обращаюсь к таблицам, созданным в Foxpro2.6
Указала
SET ENGINEBEHAVIOR=70
Выполняю команду:
SELECT MAX(tmnapr) FROM dispoh WHERE !DELETED() AND proher='1' INTO ARRAY resoh
Затем анализирую:
IF !ISNULL(resoh)
<нужные команды>
ENDIF
Получаю сообщение: Variable 'RESOH' is not found

Хотя без установки SET ENGINEBEHAVIOR=70 отрабатывало без ошибок...
И что в этом необычного? Хелп по этой настройке читали? Думаете она только на использование индексов влияет? При SET ENGINEBEHAVIOR=70 результирующий курсор/массив не создается при отсутствии результатов.

------------------
Лень - это неосознанная мудрость.
Ratings: 0 negative/0 positive
Re: VFP9 Одновременная работа с dbf по сети - тормоза!
Lynx

Сообщений: 228
Откуда: Киев
Дата регистрации: 23.05.2001
Очень даже интересно! Как же Фокса под Линуксом живет?
Ratings: 0 negative/0 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 15 OlegA Rifat  (Гостей: 13)

© 2000-2024 Fox Club 
Яндекс.Метрика