понедельник, 21 сентября 2015 г.

[в процессе] Рекомендации для тестовых баз Oracle

Сравнение режимов ARCHIVELOG и NOARCHIVELOG: http://my-oracle.it-blogs.com.ua/post-282.aspx.
«... тестовая база – NOARCHIVELOG; промышленная – ARCHIVELOG».

Ускорение импорта дампов:

http://www.freelists.org/post/oracle-l/Disable-logging-in-tablespace-vs-using-hidden-parameter-disable-logging,5
If you want fast import you can do several things, first of all get all the
DDL statements

1. import only data
2. create indexes with the DDL and adding NOLOGGING and parallel clauses
3. create the constraints but keep them DISABLED
4. Enable the constraints by setting parallel degree at table level, by
doing so parallel executions can be used

http://www.dba-oracle.com/t_import_impdp_import_performance_speed.htm
доп.опции для impdp:
COMMIT=Y
BUFFER=64000
_disable_logging=true (ТОЛЬКО для тестовых баз) (пока проверить не удалось, т.к. СУБД не позволяет задать такой параметр)


Тесты:
mount -t ext4 -o noatime,nodiratime,max_batch_time=0,nobarrier /dev/md0 /mnt/hd2tb

Импорт дампа от 02.09.2015:
- стандартная команда (до оптимизации RAID-0) = 2 часа 30 минут;
- стандартная команда (после оптимизации RAID-0) = 1 час 37 минут;
- дополненная команда (после оптимизации RAID-0) = 2 часа 16 минут;
была дополнена опциями:
COMMIT=Y
BUFFER=64000
- стандартная команда (после оптимизации RAID-0) = 1 час 49 минут.

=================
Перемонтировал с помощью команды:
mount -t ext4 -o rw,noatime,max_batch_time=0,nobarrier,data=writeback /dev/md0 /mnt/hd2tb
+ отключил журналирование в ext4 (http://fenidik.blogspot.ru/2010/03/ext4-disable-journal.html):
# Enable writeback mode. This mode will typically provide the best ext4 performance.
tune2fs -o journal_data_writeback /dev/sda10

# Delete has_journal option
tune2fs -O ^has_journal /dev/sda10

# Required fsck
e2fsck -f /dev/sda10

# Check fs options
dumpe2fs /dev/sda10 |more

Проверяю:
- стандартная команда (после оптимизации RAID-0) = 1 час 28 минут.
- стандартная команда (после оптимизации RAID-0) = 1 час 55 минут.
- стандартная команда (после оптимизации RAID-0) = 1 час 50 минут.

Новая проверка:
mkfs.ext4 -T largefile -O ^has_journal /dev/md0
mount -t ext4 -o rw,noatime,max_batch_time=0,nobarrier,data=writeback /dev/md0 /mnt/hd2tb
./importdp.sh F_IRKOBL_150902 azkbase2015_20150902_1900.dmp
- стандартная команда (после оптимизации RAID-0) = 1 час 20 минут.

среда, 16 сентября 2015 г.

[в процессе] dm-2, dm-3

Подключил аппаратный RAID-0,
в системе появился соответствующий по размеру
/dev/dm-2
создал на нем раздел
`fdisk /dev/dm-2` = /dev/dm-2p1
Перезагрузился (т.к. fdisk сообщил, что без этого система будет использовать старую таблицу разделов),
в системе появился
/dev/dm-3.

Итого:
в системе есть теперь
/dev/dm-2
/dev/dm-2p1
/dev/dm-3

mkfs.ext3 видит только /dev/dm-2 и /dev/dm-3.

Проверяю будет ли работать:
mkfs.ext3 /dev/dm-3

dm-0, dm-1

fdisk -l
показывает разные разделы жестких дисков, в том числе и те, что мне были непонятны:
/dev/dm-0
/dev/dm-1
Статья объяснила, что что такое, плюс дала полезные команды:
lvdisplay|awk '/LV Name/{n=$3} /Block device/{d=$3; sub(".*:","dm-",d); print d,n;}'
dmsetup ls

пятница, 11 сентября 2015 г.

[в процессе] Попытка повысить производительность RAID-0

Изначально RAID-0 был собран тут. Тогда была выбрана ФС "ext3".
Считаю, что повысить производительность можно заменив ФС на "ext4" вместо "ext3".

Созданы резервные копии
/etc/mdadm.conf
/etc/fstab

Отключение RAID-0
umount /mnt/hd2tb
mdadm --stop /dev/md0
mdadm --zero-superblock /dev/sda1
mdadm --zero-superblock /dev/sdb1
fdisk /dev/sda
d - удалить раздел
w - запись изменений на диск

fdisk /dev/sdb
d - удалить раздел
w - запись изменений на диск

Создание RAID-0
fdisk /dev/sda
n - создать раздел
p - основной
1 - с номером 1
t - изменить тип раздела
fd - тип раздела указать auto Linux raid
w - запись изменений на диск

fdisk /dev/sdb
n - создать раздел
p - основной
1 - с номером 1
t - изменить тип раздела
fd - тип раздела указать auto Linux raid
w - запись изменений на диск

mdadm --create --verbose /dev/md0 --level=0 --raid-devices=2 /dev/sda1 /dev/sdb1

Далее, нужно вычислить stride и stripe-width для mkfs.ext4:
stride = chunk_size / file_system_block_size
chunk_size - см. /proc/mdstat (cat /proc/mdstat)
file_system_block_size - см. результат команды "blockdev --getbsz /dev/md0"
stripe-width = stride * (количество HDD для пользовательских данных (не для контрольных данных) в RAID)

mkfs.ext4 -b 4096 -E stride=16,stripe-width=32 /dev/md0

Создаем mdadm.conf:
mdadm --detail --scan --verbose | awk '/ARRAY/ {print}' > /etc/mdadm.conf

Монтируем, проверяем, если все хорошо, то прописываем точку монитрования в fstab.

После проверки оказалось, что процесс импорта дампа выполняется недопустимо медленно.
Найдено решение (googleб по фразе «low oracle performance "ext4"»):
http://www.oracle.com/us/technologies/linux/oracle-linux-with-flash-2004731.pdf, стр. 6:
mount -t ext4 -o noatime,nodiratime,max_batch_time=0,nobarrier /dev/md0 /mnt/hd2tb

=========================

by

аргументация выбора

вторник, 1 сентября 2015 г.

Первый звонок

[ 01 сентября 2015 г. 11:17 ] Денис К.: У Антона первый звонок
[ 01 сентября 2015 г. 11:18 ] Денис А.: Знал бы Антоха, что его дальше ждет, он бы, наверное, назвал этот праздник "Первый звоночек".

Архив