![]() |
|
![]() ![]() ![]() |
|
samurai |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 69 Регистрация: 26.1.2006 Где: РФ, Омск Репутация: нет Всего: нет |
База данных interbase 75Мб, 22 таблицы, доступ одновременно до 60 пользователей
запрос на элементарную запись заказа выполняется от 1 до 5 минут, все остальные запросы выполняются тоже долго, простой переход в конец выполняется минуту ![]() Раньше занимался локальными таблицами Paradox и с помощью кэширования достигал хорошей скорости, как быть здесь? спасибо |
|||
|
||||
ТоляМБА |
|
|||
![]() Котэ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1607 Регистрация: 15.12.2004 Репутация: 3 Всего: 252 |
||||
|
||||
samurai |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 69 Регистрация: 26.1.2006 Где: РФ, Омск Репутация: нет Всего: нет |
1.
Вот пример таблицы заказов:
2. Пользуюсь по возможности только SQL не считая навигаторов (tdbnavigator) не использую first, last, next и др. у меня "толстый клиент" все права доступа и личные настройки хранятся в приложении клиента вроде 75Мб (только текстовые и числовые типы данных) это же не много? должно же бысто работать? сервер позволяет Это сообщение отредактировал(а) samurai - 27.7.2006, 06:48 |
|||
|
||||
Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 29 Всего: 329 |
сколько записей в таблице? если 100 тысяч, то минута, может и нормально для перехода в конец таблицы
|
|||
|
||||
superVad |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 735 Регистрация: 6.4.2006 Где: Черкассы, Украина Репутация: 3 Всего: 15 |
как скорость зависит от количества подключенных пользователей?
какая конфигурация компа на котором база? но в принципе медленно работает - надо эксперементировать и искать в чем проблема |
|||
|
||||
samurai |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 69 Регистрация: 26.1.2006 Где: РФ, Омск Репутация: нет Всего: нет |
to akella: таблиц 22, в каждой от 10000 до 60000 записей, не знаю как по количеству, но нормально работать это точно не даёт, какой то выход мне надо искать
![]() вот поиск производится очень быстро, а запись долго. to superVad я не знаю влияет ли количество подключений на скорость запроса. комп такой: 4 процессора Xeon-A (4.5x400) по 1800 МГц 4х512 Мб = 2047Мб оперативки 2x16Гб винчестеры зеркальные сетевухи гигабитные, сетка на 3com (48 портов х 2) switch с усилением ну маленькое вроде такое, но шустренькое я просто вообще не знаю с чего начать копать, хотел услышать стандартные ошибки в построении таблиц и запросов спасибо |
|||
|
||||
superVad |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 735 Регистрация: 6.4.2006 Где: Черкассы, Украина Репутация: 3 Всего: 15 |
если поиск производится очень быстро то проблемы скорей всего не с сеткой.
комп в принципе хороший единственное что в голову приходит - если стоит сервер с архитектурой SuperServer то стоит поставить ClassicServer может быть. Он на многопроцесорных системах лучще работает |
|||
|
||||
jack128 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 81 Регистрация: 18.5.2005 Репутация: нет Всего: 4 |
||||
|
||||
Alex |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4147 Регистрация: 25.3.2002 Где: Москва Репутация: 17 Всего: 162 |
Все перебрали, кроме самого главного, текст вашего SQL, который якобы у вас там минуты выполняется можно увидеть?
Добавлено @ 07:14 Интересно, а как без last вы попадаете на последнию запись? Добавлено @ 07:21 Стоп! А какой версией Interbase вы пользуетесь? -------------------- Написать можно все - главное четко представлять, что ты хочешь получить в конце. |
|||
|
||||
DimW |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1330 Регистрация: 24.2.2005 Где: Орёл Репутация: 5 Всего: 44 |
и еще как вариант: может ты слишком много индексов насоздавал, грамотно построенные индексы могут ускорить работу селекта в сотни раз, но могут понизить скорость запросов на модификацию в десятки раз. Это сообщение отредактировал(а) DimW - 1.8.2006, 10:02 |
|||
|
||||
samurai |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 69 Регистрация: 26.1.2006 Где: РФ, Омск Репутация: нет Всего: нет |
to jack128
ну не совсем, происходит ряд проверок здесь же выполнение StoredProc (хранимые процедуры) антивиря нет, доступ в онлайн запрещен to Alex next, last & etc стараюсь не использовать но дбнавигатор использует именно их Версия Interbase 6.5 Заметил следующее: с утра всё работает намного быстрее, мало клиентов, активность из 60 юзеров примерно 10, к обеду ситуация усложняется ввод заказа выполняется в несколько раз дольше, к вечеру у некоторых подвисают приложения-клиенты Может проблемы с кэшью? где посмотреть? to DimW индексов от 1 до 6 на каждую таблицу, таблиц 22, но в среднем получается 2-3 индекса на таблицу это много? спасибо всем кто помогает |
|||
|
||||
Fedia |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 465 Регистрация: 2.8.2006 Где: первым встречаю р ассвет Репутация: 3 Всего: 13 |
samurai, Клиентских приложений много ? 60 клиентов, а клиентская программа у них одна ? Хорошо бы пересмотреть запросы, которые эта программа посылает на сервер, раз тормоза начинаются во время интенсивной работы с БД.
Хотя сервер мощный, если запросы в БД от клиентов просты, то он должен справляться с обработкой. Есть какие-либо сложные выборки данных типа запросов в несколько таблиц с объединением, вложенными запросами и т.п. -------------------- Накануне решающей битвы Я иду, и надеждою зыбкой Озаряется эта дорога, Я мечтаю увидеть улыбку На лице победившего Бога… |
|||
|
||||
Alex |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4147 Регистрация: 25.3.2002 Где: Москва Репутация: 17 Всего: 162 |
-------------------- Написать можно все - главное четко представлять, что ты хочешь получить в конце. |
|||
|
||||
superVad |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 735 Регистрация: 6.4.2006 Где: Черкассы, Украина Репутация: 3 Всего: 15 |
таки попробуй поставить FB 1.5 ClassicServer
|
|||
|
||||
Alex |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4147 Регистрация: 25.3.2002 Где: Москва Репутация: 17 Всего: 162 |
И получить 60 процессов, каждый будет требовать под себя свою память... ClassicServer является устаревшей технологией Вы ни как не прочитаете самое главное, InterBase до версии 7.0 и FB до версии 2.0 не могут работать на многопроцессорной машине их нужно закруглять на один из процессоров http://ibase.ru/devinfo/ht.htm Это сообщение отредактировал(а) Alex - 3.8.2006, 09:45 -------------------- Написать можно все - главное четко представлять, что ты хочешь получить в конце. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Базы данных и репортинг" | |
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами Обязательно указание: 1. Базы данных (Paradox, Oracle и т.п.) 2. Способа доступа (ADO, BDE и т.д.)
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |