Производительность

Алексей Буйницкий
Дата: 01.10.2004 18:13:17
Есть следующая проблема: две машины:
1. P2x300, 80Gb обычный ATA винчестер, 512Мб памяти, Oracle 8i
2. Xeonx2,4GHz, 240Gb SCSI RAID5, 2Gb памяти, Oracle 9.2.0.1
В целом на обычные запросы (select) вторая машина работает быстрее. Не намного, правда, ну так, раза в 2-2,5. Это не критично.
Гораздо хуже то, что операции insert/update выполняются приблизительно с одинаковой скоростью.
Приведу пример: табличка, партицированная по дню, 2 индекса - локальный по колонке State и глобальный, по колонке Dest_id. Строки таблицы постоянной длины, т.е. без varchar, максимум char(32), Если понадобится, скину скрипт, там 10 интов и 3 char(32) + одна колонка для времени, по которой и происходит партицирование. Работа с таблицей производится следующим образом:
1. Большое количество insert-ов в одну партицию, Dest_id = null, State = 0, т.е. записи апдейтят только локальный индекс. Скорость insert-а приблизительно 700-900 записей в секунду. На одну партицию приходится приблизительно 40000-45000 записей.
2. Один большой select (ну, это не так важно).
3. Много updat-ов по rowid (update tbl set value = xxx, state = null, dest_id = xxx where rowid = :rowid), value - обычный int, т.е. размер строки не меняется, строка ниуда не переезжает, по rowid самый быстрый update. Понятно, что строка вываливается из одного индекса, а заходит в другой. Скорость update - порядка 600-700 записей в секунду. Может, я чего-то не понимаю, но по-моему, скорость должна быть побольше.
Да, оба индекса я удалял совсем для тестов, скорость существенно не поменялась (максимум на 10 записей/сек).
Есть подозрение на настройки линукса/scsi.
Помогите, плз!
aamazur
Дата: 01.10.2004 19:11:41
Алексей Буйницкий
2. Xeonx2,4GHz, 240Gb SCSI RAID5, 2Gb памяти, Oracle 9.2.0.1

5-ка никогда не отличалась хорошей производительностью на insert/update.

--
TY
igor2222
Дата: 01.10.2004 19:19:21
2 Алексей Буйницкий
Ни слова про планы выполнения и про статистику. Ну убил индекс, создал... Индекс подключается? Статистика для нового индекса собиралась?
Алексей Буйницкий
Дата: 01.10.2004 19:42:40
Я не создавал/убивал
я просто убил и тестил без индексов
Алексей Буйницкий
Дата: 01.10.2004 19:44:09
а план выполнения на insert/update(особенно по rowid) конечно, достаточно важны...
могу опубликовать :)
Пессимист
Дата: 01.10.2004 19:46:43
aamazur
Алексей Буйницкий
2. Xeonx2,4GHz, 240Gb SCSI RAID5, 2Gb памяти, Oracle 9.2.0.1

5-ка никогда не отличалась хорошей производительностью на insert/update.

--
TY

Вы правы, RAID5 для интенсивного write плох по фундаментальным причинам (только кэш контроллера может сгладить ситуацию до определенного, в зависимости от его размера, уровня нагрузки) и описание автора топика это подтверждает. Старожилы, не я (!), уже не раз упоминали обо всем этом, да и я ссылку на technical paper "Configuring Oracle Server for VLDB" от Millsap давал, кажется (отрывки из него у Oracle даже в учебный курс по тюнингу помещены).
Алексей Буйницкий
Дата: 01.10.2004 19:46:44
aamazur
5-ка никогда не отличалась хорошей производительностью на insert/update.
--
TY


не поверишь :)
меня лично никто не спрашивал.
как это можно проверить, если это так?
igor2222
Дата: 01.10.2004 19:47:17
Дк а по таблицам вообще статистика собиралась? Или скорость при сравнении с первым случаем страдает и при отсутствии индексов и статистики и там и там?
igor2222
Дата: 01.10.2004 19:49:45
автор
как это можно проверить, если это так?

Снести 5 рейд :-)
Алексей Буйницкий
Дата: 01.10.2004 19:51:35
Статистика - это как?
analyze table tbl compute statistics for all ... да?
А 5-ку сносить страшновато, сервер с живой базой...
Мда, разживемся на второй сервак, лично поствлю 0+1 :)