powered by simpleCommunicator - 2.0.44     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / по видимому Networking question
15 сообщений из 15, страница 1 из 1
по видимому Networking question
    #32052204
Фотография Eter Panji
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Oracle 8.1.7
Win 2000 Adv

Есть два сервера
Один Athlon 800 + 512 RAM
Второй 2*Athlon 750 + 768 RAM

Приложение работает через BDE никаких хинтов в запросах нет и в силу административных требований и не будет.

Внимание вопрос. Почему на втором. более мощном сервере с одного и того же клиента запросы отрабатывают медленнее, причем на порядок, на два. Причем не замедление не постоянно, а регулярно. Т.е. в какое-то время на этом клиенте замедлений не будет а потом опять появяться.
Замедлений не удается отловить и при тесте запросов через SQLPlusWorkseet, однако это не показатель возможно я попадал именно на таой благоприятный кусок времени.

При работе с перым, более слабым, такого не возникало.

Первый сервер в момент исполнения запросов загружен где-то на 90-100% второй на 30-40%.
Как я понимаю Oracle при наличии двух процессоров и отсутствии хинтов раскидывает по процессорам запросы целиком, один запрос на один другой на второй.

Поэтому я считаю что собака порылась где-то в настройках NETWORKING. Хотя я ужо почти всё перепробовал, не помогает.

Кто-нибудь с подобным вопросом встречался, может подскажет что-нибудь.
...
Рейтинг: 0 / 0
по видимому Networking question
    #32052208
Фотография Eter Panji
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уточнение

BDE работает в режиме
SQLORA32.dll
OCI.DLL

(Oracle8.dll не подходит она рушиться при большом количестве последовательных запросов к базе)
...
Рейтинг: 0 / 0
по видимому Networking question
    #32052222
Mushroom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сам по себе Oracle запросы по процессорам не раскидывет.
Этим занимается операционная система. Отсюда и копай.
А для того чтобы sql - запросы распараллеливались ораклом их нужно правильно составить, в соответствии с правилами Parallel Server'а
...
Рейтинг: 0 / 0
по видимому Networking question
    #32052223
vskv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну стандартное:
shared_pool_size; db_block_size; db_block_buffers

наличие других приложений на сервере

база одна и та же, или на втором сервере таблички поширше будут?



что гласит статистика по проблемным запросам (logical reads vs. phisical reads)?
...
Рейтинг: 0 / 0
по видимому Networking question
    #32052224
Фотография Eter Panji
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне нельзя распаралеливать запросы. Это требование которое навязано административным укладом конторы.
На счет операциаонки посмотрю, но там примерно равная загрузка процессоров и потом процессоры не настолько хуже (750 против 800) чтобы запрос отрабатывал в десятки раз медленнее.

Мне кажется что запрос отрабатывает, но клиент об этом долго не узнает.

Проблема в том что там программе идет не один запрос а группа которые отрабатывают подряд через TQuery и TTable.

И мои тесты пока зключались в том что я выдергивал эти запросы и поотдельности или скопом запускал их. Можно ли заставить как-то собираться информацию о времени отрабатывания запроса и записи этого времени в какую-то временную таблицу при условии что запрос запускают не через Execution Plan, а со стороны третьей программы.
...
Рейтинг: 0 / 0
по видимому Networking question
    #32052290
user1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну если TTable, то при нескольких тысячах записей это уже большие тормоза, у нас один разработчик сделал прогу на TTable, а после передачи ее заказчику на реальных данных через месяц пришлось все переделывать на Query :),
а воообще с таблицей или фильтрацией по квери тормозиться открытие таблицы, а потом работа идет уже по сохраненым в файле данным. Так может показаться что то тормозит, то быстро работает.

А если таблица большая, то соответственно в зависимости от того, что с ней делают (locate, filter), что-то будет сильнее тормозить, что-то медленнее, лучше все переделать на query, тогда тормозить точно не будет.
...
Рейтинг: 0 / 0
по видимому Networking question
    #32052369
Alexander Sobyanin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
(Oracle8.dll не подходит она рушиться при большом количестве последовательных запросов к базе)

Если можно то вот здесь поподробнее...
можно и мыло.
...
Рейтинг: 0 / 0
по видимому Networking question
    #32052512
Фотография Eter Panji
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Выяснилось что db_block_buffers стояло очень маленькое
поменял, но не помогло.

Приложения и там и тут одинаковые.
Стоит Terminal Server
и
MSSQL 2000

Но они стоят на обоих компьютерах тут нет разницы

В момент зависания нет никаких обращений к диску ни на клиенте ни на сервере и процессор не юзается ни на клиенте ни на сервере. А приложение Not Responding. Мистика.

Еще прелесть. Сначала первые несколько серий запросов ОДИНАКОВЫХ отрабатывают БЫСТРО, а потом начинается зависание описанное выше.
...
Рейтинг: 0 / 0
по видимому Networking question
    #32052522
vskv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тогда смотрите, кто что ждёт (точнее какое событие ждётся судя по v$session_wait). А оттуда уже и пляшите.

Думаю даже бубен не нужен будет, а что-нибудь типа ремня для сетевого администратора, который будет сделан из патч-корда вырванного из сервера :)
...
Рейтинг: 0 / 0
по видимому Networking question
    #32052576
Фотография Eter Panji
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По видимому вы правы.

Я нашел еще одно различие.
У нас для серверов какой-то интелектуальный хаб.
Так вот если я перетыкаю сервер баз даных в обычный
то количество зависаний уменьшается.
Хотя всё равно слишком большое.

Потом у нас на этом новом с двумя процессорами лежит еще диск с общими по фирме файловыми данными. Хотя диск тоже сказевый, но на обоих дисках один контроллер.

Зависания ночью когда с сервером больше никто не работает почти не происходят. Днем с Oracle тоже работают редко, а вот с самим сервером часто.

Может ли это сказаться?
Вопрос кто-нибудь знает как будет вести себя ORACLE с BDE если им не дать обратиться к диску немедленно. По уму то всё должно вставать в очередь и ждать пока контроллер освободиться, а вдруг нет?
Могу ошибаться в железе разбираюсь плохо.
...
Рейтинг: 0 / 0
по видимому Networking question
    #32052838
vskv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Из личного опыта общения с самодельными серверами с SCSI контроллерами...

Был у нас самодельный Новелевский сервер с 32 мегами памяти, что для 3.12 было выше крыши. В общем -- почти 30 мег дискового кэша. На этом сервере жила бухгалтерия, основные средства, свод республиканских законов и файлы юзверей. Всё летало даже по той жуткой сети, что была: два физических сегмента, один на тонком коаксиале, а второй соединял три здания (с приличной внутренней сетью) двумя уличными кусками по 50 метров.

Прикол начинался в тот момент, когда кто-то пытался положить на сервер файл (файлы) длинною больше чем 30 мег. Останавливалось ВСЁ . Отживало только через какой-то момент, когда Новель со скоростью 10 буфферов в секунду записывал всё на диск.

Как потом выяснилось, виной всему был режим hardware read-after-write (write verification) включенный в SCSI BIOS.

Хотя с другой стороны, вы утверждаете, что дисковая активность в этот момент нулевая...

В общем -- настоятельно рекомендуется timed statistics = true и глубокий анализ v$session_wait.
...
Рейтинг: 0 / 0
по видимому Networking question
    #32052878
Фотография Eter Panji
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я фигею дорогая редакция.
Сисадм в пятницу увольняется поэтому ему всё параллельно. А следующий крайний я.

Написал такой сборщик информации

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
DECLARE 
srok NUMBER;
cursrok NUMBER;
waitsrok NUMBER;
BEGIN
  DELETE FROM  "OLEG" . "WAITLOG" ;
  select DBMS_UTILITY.get_time INTO srok from dual;
  srok := srok +  50000 ;
  LOOP
    Insert into  "OLEG" . "WAITLOG"  (TID, WAITINSEC)
      select DBMS_UTILITY.get_time, a.SECONDS_IN_WAIT from v_$session_wait a WHERE SID= 1 ;
    COMMIT;
    select DBMS_UTILITY.get_time INTO cursrok from dual;
    select DBMS_UTILITY.get_time INTO waitsrok from dual;
    WHILE (cursrok-waitsrok< 10 )LOOP
       select DBMS_UTILITY.get_time INTO cursrok from dual; 
    END LOOP;
    EXIT WHEN (cursrok>srok);
  END LOOP;
END;


пока она работает зависаний нет.
И время ожидания соответственно 0.
Если её не включать они есть.

Ещё прелесть сисадм мне клялся что IP у сервера статический. Сдается мне что он нагло врал.
Может этот статический он забил на сервере, но сам сервер баз данных об том что он статичский ничего не знает.
...
Рейтинг: 0 / 0
по видимому Networking question
    #32053125
vskv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Позвольте поинтересоваться: пока это чудо, обеспечивающее серверу гарантированную 50% нагрузку (в смысле кушает один процессор), работает нет зависаний у кого?
У той сессии, в которой он запущен, или у всех остальных процессов тоже???
...
Рейтинг: 0 / 0
по видимому Networking question
    #32053175
Фотография Eter Panji
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот именно что это чудо гарантирует отсутствие зависаний с того же компьютера но из ЛЮБОЙ сессии.
...
Рейтинг: 0 / 0
по видимому Networking question
    #32053960
.dba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А почему бы не попробовать включить трассировку с событиями ожидания и не гадать на кофейной гуще?
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / по видимому Networking question
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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