|
Запрос к таблице в общем доступе
|
|||
---|---|---|---|
#18+
Здравствуйте. Столкнулся с проблемой выполнения запроса (по времени) к таблице, открытой в общем доступе. Размер таблицы - 25 Mb Ниже приведены измерения по времени отработки запроса в разных режимах доступа. 1. Приложение открыто только у меня - 0:23 2. Приложение открыто у 3-х пользователей - 8:35 3. Приложение открыто только у меня (без перезапуска) - 8:50 4. Приложение открыто только у меня (с перезапуском) - 0:24 Время работы с тремя и более пользователями возрастает в 20-25 раз. И почему-то в 3-м варианте, хоть все остальные пользователи вышли - время показано примерно такое же. Помог только перезапуск приложения. Может кто-то сталкивался с аналогичной проблемой? Есть какие-то варианты оптимизации? Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2013, 11:16 |
|
Запрос к таблице в общем доступе
|
|||
---|---|---|---|
#18+
Код: vbnet 1.
стоит? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2013, 11:24 |
|
Запрос к таблице в общем доступе
|
|||
---|---|---|---|
#18+
Ffffffffffffffff, в главной програме стоит "ON" но таблици открываются: USE table1.dbf SHARED IN 1 ALIAS table1 ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2013, 11:30 |
|
Запрос к таблице в общем доступе
|
|||
---|---|---|---|
#18+
Поэкспериментируйте с off. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2013, 11:32 |
|
Запрос к таблице в общем доступе
|
|||
---|---|---|---|
#18+
Ffffffffffffffff, Результаты практически такиеже, даже в некоторых случаях больше. При открытии таблицы одним пользователем запрос выполняется в считанные секунды, а если откроет ещё дотя бы один пользователь - время увеличивается до 7 - 8 минут... Это как раз очень и напрягает. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2013, 13:13 |
|
Запрос к таблице в общем доступе
|
|||
---|---|---|---|
#18+
DmDeDFfffffffffffffff, Результаты практически такиеже, даже в некоторых случаях больше. При открытии таблицы одним пользователем запрос выполняется в считанные секунды, а если откроет ещё дотя бы один пользователь - время увеличивается до 7 - 8 минут... Это как раз очень и напрягает. Это особенность системы блокировок виндовса. Как только файл открыл второй пользователь, так скорость падает, причем заметно. Замедление в десять раз однажды наблюдал. Для начала попробуй все тоже самое поселив базу на другом компе, может с сеткой какие проблемы у компа на том где база. И запрос не помешает оптимизировать. 25 сек. для 25 Мб это сложно назвать "выполняется в считанные секунды". Если все локально на один комп поместить сколько времени выполняется? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2013, 13:34 |
|
Запрос к таблице в общем доступе
|
|||
---|---|---|---|
#18+
DmDeD, Вы где храните базы данных - ОС какая? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2013, 13:35 |
|
Запрос к таблице в общем доступе
|
|||
---|---|---|---|
#18+
Dima T, На другой комп перенести не могу. Это корпоративный сервак и туда прописаны права у пользователей. Пробовал данную таблицу перед тем, как выполнить к ней запрос, скопировать к себе на комп. Время с 8 минут сократилось до 2,5-3, но это потому что в запросе такжу участвуют и другоие общие таблицы. Запос выполняется в двойном цикле: выборка по квартально (4 вкартала) и внутри каждой выборки данные по 7-ми подразделениям. Естественно, если включать в выборку только 1 квартал - время будет в 4 раза меньше. ОС у пользователей - Винда 2000 и ХР. На серваке сокрее всего тоже Винда. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2013, 13:54 |
|
Запрос к таблице в общем доступе
|
|||
---|---|---|---|
#18+
alextashk, ОС у пользователей - Винда 2000 и ХР. На серваке сокрее всего тоже Винда. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2013, 13:55 |
|
Запрос к таблице в общем доступе
|
|||
---|---|---|---|
#18+
Dima T, А что это за особенность системы блокировок винды? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2013, 14:26 |
|
Запрос к таблице в общем доступе
|
|||
---|---|---|---|
#18+
DmDeDDima T, А что это за особенность системы блокировок винды? Ньюансов не знаю, суть в следующем: если по сетке файл открывают несколько компов в SHARED режиме, то скорость выборки из этого файла падает в разы (я в десять раз наблюдал, возможно больше бывает) по сравнению со временем когда один пользователь работает. В том что ты описал нет ничего сверхъестественного кроме варианта 3. Хотя возможно надо файлы переоткрыть. не проверял. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2013, 15:17 |
|
Запрос к таблице в общем доступе
|
|||
---|---|---|---|
#18+
DmDeDDima T, На другой комп перенести не могу. Это корпоративный сервак и туда прописаны права у пользователей. В чем проблема? Безопасности у ФС никакой нет. Скопируй всю базу к себе, расшарь и подцепись к ней с пары компов пользовательских. Позапускай свой запрос для тестов. По-хорошему если база большая и тормозит - надо прогу в терминал переселять, тогда все запущенные копии будут летать т.к. запускаются на том же компе где база. Или переписывать в клиент-сервер. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2013, 21:48 |
|
Запрос к таблице в общем доступе
|
|||
---|---|---|---|
#18+
DmDeDЗдравствуйте. Столкнулся с проблемой выполнения запроса (по времени) к таблице, открытой в общем доступе. Размер таблицы - 25 Mb Ниже приведены измерения по времени отработки запроса в разных режимах доступа. 1. Приложение открыто только у меня - 0:23 2. Приложение открыто у 3-х пользователей - 8:35 3. Приложение открыто только у меня (без перезапуска) - 8:50 4. Приложение открыто только у меня (с перезапуском) - 0:24 Время работы с тремя и более пользователями возрастает в 20-25 раз. И почему-то в 3-м варианте, хоть все остальные пользователи вышли - время показано примерно такое же. Помог только перезапуск приложения. Может кто-то сталкивался с аналогичной проблемой? Есть какие-то варианты оптимизации? Спасибо. Сильное подозрение - глючная клиентская часть. Т.е. где-то не закрываются какие-то файлы (или типа того) и фоксу или системе приходится самим заниматься этой ерундой. А ОС сервера, она тут вроде не при чём. Дали ей запрос на 1 чтение (файла), тупо читает. Дали запрос на 100 чтений - читает, но дольше. Единственно, если это ХР, то одновременных соединений не может более 10. Одинадцатое будет игнорировано. Вы там тщательнЕй исходник просмотрите. И ещё рекммендация - можно это безобразие вообще на одной машине делать, запуская несколько копий программы. Если глюк повторяется - это точно клиентская прога. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2013, 17:24 |
|
Запрос к таблице в общем доступе
|
|||
---|---|---|---|
#18+
Ага... Set Peprocess имеется где нибудь в коде? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2013, 18:22 |
|
Запрос к таблице в общем доступе
|
|||
---|---|---|---|
#18+
rewareЕдинственно, если это ХР, то одновременных соединений не может более 10. Одинадцатое будет игнорировано. Эта проблема из другой оперы. XP не может одновременно устанавливать более 10 TCP-соединений. Если соединение установлено, то это ограничение ни при чем, будет обслуживаться сколько угодно соединений. Эта проблема касается P2P-прог которые при старте пытаются одновременно установить соединение с кучей других точек, которых гораздо больше десяти. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2013, 18:35 |
|
Запрос к таблице в общем доступе
|
|||
---|---|---|---|
#18+
Наблюдала в своей проге подобного рода ёрзание около полу года! Грешила на сетку, клиентские машины и т.д. Короче заняла позицию "плохого танцора". Затем (всётаки) воспользовалась советом - приобрести книжечку "Рефакторинг SQL приложений" ISBN 978-5-93286-145-5. Достаточно было беглого прочтения, чтобы понять о необходимости переделать 99% запросов в проге. Ну и результат превзошел все ожидания. Очень рекомендую. Извините если что не так. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2013, 18:48 |
|
Запрос к таблице в общем доступе
|
|||
---|---|---|---|
#18+
Людмilaприобрести книжечку "Рефакторинг SQL приложений" Речь о файл-сервере, а книжка про SQL-сервер, которого в данном случае нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2013, 18:55 |
|
Запрос к таблице в общем доступе
|
|||
---|---|---|---|
#18+
Простите, а к DBF-таблицам вы не SQL-запросами стучитесь? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2013, 19:03 |
|
Запрос к таблице в общем доступе
|
|||
---|---|---|---|
#18+
ЛюдмilaПростите, а к DBF-таблицам вы не SQL-запросами стучитесь? SQL-запрос к SQL-серверу и к DBFам это разные вещи. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2013, 19:11 |
|
Запрос к таблице в общем доступе
|
|||
---|---|---|---|
#18+
Лучше таки на сервере поставить нечто Win>=2000. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2013, 22:19 |
|
Запрос к таблице в общем доступе
|
|||
---|---|---|---|
#18+
Dima TrewareЕдинственно, если это ХР, то одновременных соединений не может более 10. Одинадцатое будет игнорировано. Эта проблема из другой оперы. XP не может одновременно устанавливать более 10 TCP-соединений. Если соединение установлено, то это ограничение ни при чем, будет обслуживаться сколько угодно соединений. Эта проблема касается P2P-прог которые при старте пытаются одновременно установить соединение с кучей других точек, которых гораздо больше десяти. Мда, действительно малость из другой оперы, тем более, что автор не указал ОС сервера. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2013, 23:08 |
|
Запрос к таблице в общем доступе
|
|||
---|---|---|---|
#18+
Ffffffffffffffff Код: vbnet 1.
стоит? Так если в задаче есть SQLи, то они глубоко чихают на ваши ON/OFF. И как вы там открыли таблицы (или вообще не открыли их) им глубоко фиолетово. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2013, 23:16 |
|
Запрос к таблице в общем доступе
|
|||
---|---|---|---|
#18+
и я про то же! грамотный Select и моргнуть не успеете. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2013, 23:28 |
|
Запрос к таблице в общем доступе
|
|||
---|---|---|---|
#18+
Людмilaи я про то же! грамотный Select и моргнуть не успеете. Ну, в целом верно, Людмila (а чё не Lucy ?), только с SQL-выборками аккуратнее надо, надо не забывать закрывать таблички (SQL таблицы открывает, наплевав на всё, измывается над ними и бросает их, как есть, дальше дело программёра) и/или переводить их в предшествующий SQLю режим. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2013, 23:41 |
|
|
start [/forum/topic.php?fid=41&tid=1583216]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
6ms |
check topic access: |
6ms |
track hit: |
59ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
others: | 9ms |
total: | 168ms |
0 / 0 |