powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Запрос к таблице в общем доступе
25 сообщений из 71, страница 1 из 3
Запрос к таблице в общем доступе
    #38106015
DmDeD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте.

Столкнулся с проблемой выполнения запроса (по времени) к таблице, открытой в общем доступе.
Размер таблицы - 25 Mb

Ниже приведены измерения по времени отработки запроса в разных режимах доступа.

1. Приложение открыто только у меня - 0:23
2. Приложение открыто у 3-х пользователей - 8:35
3. Приложение открыто только у меня (без перезапуска) - 8:50
4. Приложение открыто только у меня (с перезапуском) - 0:24

Время работы с тремя и более пользователями возрастает в 20-25 раз.
И почему-то в 3-м варианте, хоть все остальные пользователи вышли - время показано примерно такое же. Помог только перезапуск приложения.

Может кто-то сталкивался с аналогичной проблемой?
Есть какие-то варианты оптимизации?

Спасибо.
...
Рейтинг: 0 / 0
Запрос к таблице в общем доступе
    #38106034
Ffffffffffffffff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: vbnet
1.
Set exclusive off

стоит?
...
Рейтинг: 0 / 0
Запрос к таблице в общем доступе
    #38106051
DmDeD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ffffffffffffffff,

в главной програме стоит "ON"
но таблици открываются: USE table1.dbf SHARED IN 1 ALIAS table1
...
Рейтинг: 0 / 0
Запрос к таблице в общем доступе
    #38106057
Ffffffffffffffff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Поэкспериментируйте с off.
...
Рейтинг: 0 / 0
Запрос к таблице в общем доступе
    #38106250
DmDeD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ffffffffffffffff,

Результаты практически такиеже, даже в некоторых случаях больше.

При открытии таблицы одним пользователем запрос выполняется в считанные секунды, а если откроет ещё дотя бы один пользователь - время увеличивается до 7 - 8 минут... Это как раз очень и напрягает.
...
Рейтинг: 0 / 0
Запрос к таблице в общем доступе
    #38106293
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DmDeDFfffffffffffffff,

Результаты практически такиеже, даже в некоторых случаях больше.

При открытии таблицы одним пользователем запрос выполняется в считанные секунды, а если откроет ещё дотя бы один пользователь - время увеличивается до 7 - 8 минут... Это как раз очень и напрягает.
Это особенность системы блокировок виндовса. Как только файл открыл второй пользователь, так скорость падает, причем заметно. Замедление в десять раз однажды наблюдал.

Для начала попробуй все тоже самое поселив базу на другом компе, может с сеткой какие проблемы у компа на том где база.
И запрос не помешает оптимизировать. 25 сек. для 25 Мб это сложно назвать "выполняется в считанные секунды". Если все локально на один комп поместить сколько времени выполняется?
...
Рейтинг: 0 / 0
Запрос к таблице в общем доступе
    #38106294
alextashk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DmDeD,

Вы где храните базы данных - ОС какая?
...
Рейтинг: 0 / 0
Запрос к таблице в общем доступе
    #38106341
DmDeD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dima T,

На другой комп перенести не могу. Это корпоративный сервак и туда прописаны права у пользователей.
Пробовал данную таблицу перед тем, как выполнить к ней запрос, скопировать к себе на комп.
Время с 8 минут сократилось до 2,5-3, но это потому что в запросе такжу участвуют и другоие общие таблицы.
Запос выполняется в двойном цикле: выборка по квартально (4 вкартала) и внутри каждой выборки данные по 7-ми подразделениям.
Естественно, если включать в выборку только 1 квартал - время будет в 4 раза меньше.
ОС у пользователей - Винда 2000 и ХР. На серваке сокрее всего тоже Винда.
...
Рейтинг: 0 / 0
Запрос к таблице в общем доступе
    #38106343
DmDeD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alextashk,

ОС у пользователей - Винда 2000 и ХР. На серваке сокрее всего тоже Винда.
...
Рейтинг: 0 / 0
Запрос к таблице в общем доступе
    #38106410
DmDeD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dima T,

А что это за особенность системы блокировок винды?
...
Рейтинг: 0 / 0
Запрос к таблице в общем доступе
    #38106529
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DmDeDDima T,

А что это за особенность системы блокировок винды?
Ньюансов не знаю, суть в следующем: если по сетке файл открывают несколько компов в SHARED режиме, то скорость выборки из этого файла падает в разы (я в десять раз наблюдал, возможно больше бывает) по сравнению со временем когда один пользователь работает.

В том что ты описал нет ничего сверхъестественного кроме варианта 3. Хотя возможно надо файлы переоткрыть. не проверял.
...
Рейтинг: 0 / 0
Запрос к таблице в общем доступе
    #38107097
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DmDeDDima T,

На другой комп перенести не могу. Это корпоративный сервак и туда прописаны права у пользователей.
В чем проблема? Безопасности у ФС никакой нет. Скопируй всю базу к себе, расшарь и подцепись к ней с пары компов пользовательских. Позапускай свой запрос для тестов.

По-хорошему если база большая и тормозит - надо прогу в терминал переселять, тогда все запущенные копии будут летать т.к. запускаются на том же компе где база. Или переписывать в клиент-сервер.
...
Рейтинг: 0 / 0
Запрос к таблице в общем доступе
    #38107631
reware
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DmDeDЗдравствуйте.

Столкнулся с проблемой выполнения запроса (по времени) к таблице, открытой в общем доступе.
Размер таблицы - 25 Mb

Ниже приведены измерения по времени отработки запроса в разных режимах доступа.

1. Приложение открыто только у меня - 0:23
2. Приложение открыто у 3-х пользователей - 8:35
3. Приложение открыто только у меня (без перезапуска) - 8:50
4. Приложение открыто только у меня (с перезапуском) - 0:24

Время работы с тремя и более пользователями возрастает в 20-25 раз.
И почему-то в 3-м варианте, хоть все остальные пользователи вышли - время показано примерно такое же. Помог только перезапуск приложения.

Может кто-то сталкивался с аналогичной проблемой?
Есть какие-то варианты оптимизации?

Спасибо.

Сильное подозрение - глючная клиентская часть. Т.е. где-то не закрываются какие-то файлы (или типа того) и фоксу или системе приходится самим заниматься этой ерундой. А ОС сервера, она тут вроде не при чём. Дали ей запрос на 1 чтение (файла), тупо читает. Дали запрос на 100 чтений - читает, но дольше. Единственно, если это ХР, то одновременных соединений не может более 10. Одинадцатое будет игнорировано.
Вы там тщательнЕй исходник просмотрите. И ещё рекммендация - можно это безобразие вообще на одной машине делать, запуская несколько копий программы. Если глюк повторяется - это точно клиентская прога.
...
Рейтинг: 0 / 0
Запрос к таблице в общем доступе
    #38107672
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ага...

Set Peprocess имеется где нибудь в коде?
...
Рейтинг: 0 / 0
Запрос к таблице в общем доступе
    #38107690
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rewareЕдинственно, если это ХР, то одновременных соединений не может более 10. Одинадцатое будет игнорировано.
Эта проблема из другой оперы. XP не может одновременно устанавливать более 10 TCP-соединений. Если соединение установлено, то это ограничение ни при чем, будет обслуживаться сколько угодно соединений. Эта проблема касается P2P-прог которые при старте пытаются одновременно установить соединение с кучей других точек, которых гораздо больше десяти.
...
Рейтинг: 0 / 0
Запрос к таблице в общем доступе
    #38107705
Людмila
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наблюдала в своей проге подобного рода ёрзание около полу года! Грешила на сетку, клиентские машины и т.д. Короче заняла позицию "плохого танцора". Затем (всётаки) воспользовалась советом - приобрести книжечку "Рефакторинг SQL приложений" ISBN 978-5-93286-145-5. Достаточно было беглого прочтения, чтобы понять о необходимости переделать 99% запросов в проге. Ну и результат превзошел все ожидания. Очень рекомендую.
Извините если что не так.
...
Рейтинг: 0 / 0
Запрос к таблице в общем доступе
    #38107714
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Людмilaприобрести книжечку "Рефакторинг SQL приложений"
Речь о файл-сервере, а книжка про SQL-сервер, которого в данном случае нет.
...
Рейтинг: 0 / 0
Запрос к таблице в общем доступе
    #38107723
Людмila
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Простите, а к DBF-таблицам вы не SQL-запросами стучитесь?
...
Рейтинг: 0 / 0
Запрос к таблице в общем доступе
    #38107733
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЛюдмilaПростите, а к DBF-таблицам вы не SQL-запросами стучитесь?
SQL-запрос к SQL-серверу и к DBFам это разные вещи.
...
Рейтинг: 0 / 0
Запрос к таблице в общем доступе
    #38107905
reware
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лучше таки на сервере поставить нечто Win>=2000.
...
Рейтинг: 0 / 0
Запрос к таблице в общем доступе
    #38107942
reware
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TrewareЕдинственно, если это ХР, то одновременных соединений не может более 10. Одинадцатое будет игнорировано.
Эта проблема из другой оперы. XP не может одновременно устанавливать более 10 TCP-соединений. Если соединение установлено, то это ограничение ни при чем, будет обслуживаться сколько угодно соединений. Эта проблема касается P2P-прог которые при старте пытаются одновременно установить соединение с кучей других точек, которых гораздо больше десяти.
Мда, действительно малость из другой оперы, тем более, что автор не указал ОС сервера.
...
Рейтинг: 0 / 0
Запрос к таблице в общем доступе
    #38107952
reware
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ffffffffffffffff
Код: vbnet
1.
Set exclusive off

стоит?
Так если в задаче есть SQLи, то они глубоко чихают на ваши ON/OFF. И как вы там открыли таблицы (или вообще не открыли их) им глубоко фиолетово.
...
Рейтинг: 0 / 0
Запрос к таблице в общем доступе
    #38107967
Людмila
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и я про то же!
грамотный Select и моргнуть не успеете.
...
Рейтинг: 0 / 0
Запрос к таблице в общем доступе
    #38107985
reware
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Людмilaи я про то же!
грамотный Select и моргнуть не успеете.
Ну, в целом верно, Людмila (а чё не Lucy ?), только с SQL-выборками аккуратнее надо, надо не забывать закрывать таблички (SQL таблицы открывает, наплевав на всё, измывается над ними и бросает их, как есть, дальше дело программёра) и/или переводить их в предшествующий SQLю режим.
...
Рейтинг: 0 / 0
Запрос к таблице в общем доступе
    #38108006
Людмila
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну это уже 2-я серия.
и USE IN Alias всё еще работает - на практике проверено!
...
Рейтинг: 0 / 0
25 сообщений из 71, страница 1 из 3
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Запрос к таблице в общем доступе
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]