Гость
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Помогите если кто сталкивался / 21 сообщений из 21, страница 1 из 1
08.10.2016, 12:12
    #39323191
rcamel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите если кто сталкивался
Помогите если кто сталкивался с подобной ситуацией.
Firebird 2.5.5 SuperServer
Приложение делает 30 тыс. коротких запросов (поиск первичному индексу и возврат числа).
Когда база на обычном HDD то время на все 1 минута.
Когда база на SDD то время на все 4 минуты.
Получается что SDD в 4 раза медленнее HDD.

Скорость дисков тестировал, SDD как и положено быстрее (послед.чтение в 2 раза, случайное чтение в 200 раз).
С настройками Firebird экспериментировал, нечего не помогает.
База небольшая примерно 2 ГБайта.
...
Рейтинг: 0 / 0
08.10.2016, 12:31
    #39323195
Gallemar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите если кто сталкивался
rcamel,покажи планы и статистику на SSD и HDD
...
Рейтинг: 0 / 0
08.10.2016, 12:46
    #39323198
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите если кто сталкивался
rcamelСкорость дисков тестировал, SDD как и положено быстрее (послед.чтение в 2 раза, случайное
чтение в 200 раз).

А запись?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
08.10.2016, 16:15
    #39323238
rcamel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите если кто сталкивался
Если кому интересно, результаты тестов дисков

-----------------------------------------------------------------------
CrystalDiskMark 5.1.2 x64 (C) 2007-2016 hiyohiyo
Crystal Dew World : http://crystalmark.info/
-----------------------------------------------------------------------
* MB/s = 1,000,000 bytes/s [SATA/600 = 600,000,000 bytes/s]
* KB = 1000 bytes, KiB = 1024 bytes

Sequential Read (Q= 32,T= 1) : 250.608 MB/s
Sequential Write (Q= 32,T= 1) : 164.225 MB/s
Random Read 4KiB (Q= 32,T= 1) : 2.925 MB/s [ 714.1 IOPS]
Random Write 4KiB (Q= 32,T= 1) : 1.880 MB/s [ 459.0 IOPS]
Sequential Read (T= 1) : 234.726 MB/s
Sequential Write (T= 1) : 163.596 MB/s
Random Read 4KiB (Q= 1,T= 1) : 1.205 MB/s [ 294.2 IOPS]
Random Write 4KiB (Q= 1,T= 1) : 1.762 MB/s [ 430.2 IOPS]

Test : 1024 MiB [C: 25.4% (111.6/439.4 GiB)] (x5) [Interval=5 sec]
Date : 2016/10/07 23:38:24
OS : Windows Server 2008 R2 Server Standard (full installation) SP1 [6.1 Build 7601] (x64)

-----------------------------------------------------------------------
CrystalDiskMark 5.1.2 x64 (C) 2007-2016 hiyohiyo
Crystal Dew World : http://crystalmark.info/
-----------------------------------------------------------------------
* MB/s = 1,000,000 bytes/s [SATA/600 = 600,000,000 bytes/s]
* KB = 1000 bytes, KiB = 1024 bytes

Sequential Read (Q= 32,T= 1) : 562.452 MB/s
Sequential Write (Q= 32,T= 1) : 530.267 MB/s
Random Read 4KiB (Q= 32,T= 1) : 400.782 MB/s [ 97847.2 IOPS]
Random Write 4KiB (Q= 32,T= 1) : 349.126 MB/s [ 85235.8 IOPS]
Sequential Read (T= 1) : 510.994 MB/s
Sequential Write (T= 1) : 475.284 MB/s
Random Read 4KiB (Q= 1,T= 1) : 37.199 MB/s [ 9081.8 IOPS]
Random Write 4KiB (Q= 1,T= 1) : 93.525 MB/s [ 22833.3 IOPS]

Test : 1024 MiB [F: 45.6% (108.8/238.5 GiB)] (x5) [Interval=5 sec]
Date : 2016/10/07 23:44:14
OS : Windows Server 2008 R2 Server Standard (full installation) SP1 [6.1 Build 7601] (x64)
...
Рейтинг: 0 / 0
08.10.2016, 16:21
    #39323240
Gallemar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите если кто сталкивался
...
Рейтинг: 0 / 0
08.10.2016, 16:24
    #39323243
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите если кто сталкивался
rcamelПриложение делает 30 тыс. коротких запросов
Транзакция одна на все запросы или каждый запрос в отдельной транзакции?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
08.10.2016, 16:45
    #39323254
rcamel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите если кто сталкивался
Статистика в файлах
...
Рейтинг: 0 / 0
08.10.2016, 16:46
    #39323255
rcamel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите если кто сталкивался
Статистика в файлах
...
Рейтинг: 0 / 0
08.10.2016, 16:47
    #39323256
rcamel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите если кто сталкивался
Каждый запрос в отдельной
...
Рейтинг: 0 / 0
08.10.2016, 16:50
    #39323257
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите если кто сталкивался
rcamelКаждый запрос в отдельной
Это плохо. Очень плохо. Если нет возможности поменять логику - хотя бы отключи Forced Writes.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
08.10.2016, 17:23
    #39323264
rcamel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите если кто сталкивался
Я что то недопонимаю ? Причем тут запись, если речь идет о сугубо читающей транзакции.
...
Рейтинг: 0 / 0
08.10.2016, 17:33
    #39323272
rcamel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите если кто сталкивался
*** На SSD

Starting transaction...
Preparing query: SELECT a.KCC_ID, a.KCC_H, SUM(a.KCC_KOL)
FROM KCC a
WHERE (a.KCC_ID = 35712)AND(a.KCC_H = 35)
GROUP BY a.KCC_ID, a.KCC_H

Prepare time: 0.016s
Field #01: KCC.KCC_ID Alias:KCC_ID Type:INTEGER
Field #02: KCC.KCC_H Alias:KCC_H Type:INTEGER
Field #03: .SUM Alias:SUM Type:NUMERIC(18,6)
PLAN SORT ((A INDEX (RDB$FOREIGN7)))


Executing...
Done.
17 fetches, 0 marks, 0 reads, 0 writes.
0 inserts, 0 updates, 0 deletes, 4 index, 0 seq.
Delta memory: 12784 bytes.
Total execution time: 0.031s
Script execution finished.

*** На HDD

Starting transaction...
Preparing query: SELECT a.KCC_ID, a.KCC_H, SUM(a.KCC_KOL)
FROM KCC a
WHERE (a.KCC_ID = 35712)AND(a.KCC_H = 35)
GROUP BY a.KCC_ID, a.KCC_H

Prepare time: 0.016s
Field #01: KCC.KCC_ID Alias:KCC_ID Type:INTEGER
Field #02: KCC.KCC_H Alias:KCC_H Type:INTEGER
Field #03: .SUM Alias:SUM Type:NUMERIC(18,6)
PLAN SORT ((A INDEX (RDB$FOREIGN7)))


Executing...
Done.
372 fetches, 4 marks, 19 reads, 4 writes.
0 inserts, 0 updates, 0 deletes, 93 index, 0 seq.
Delta memory: 32808 bytes.
Total execution time: 0.047s
Script execution finished.
...
Рейтинг: 0 / 0
08.10.2016, 17:39
    #39323273
rcamel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите если кто сталкивался
*** Повторный запуск на HDD

Starting transaction...
Preparing query: SELECT a.KCC_ID, a.KCC_H, SUM(a.KCC_KOL)
FROM KCC a
WHERE (a.KCC_ID = 35712)AND(a.KCC_H = 35)
GROUP BY a.KCC_ID, a.KCC_H

Prepare time: 0.015s
Field #01: KCC.KCC_ID Alias:KCC_ID Type:INTEGER
Field #02: KCC.KCC_H Alias:KCC_H Type:INTEGER
Field #03: .SUM Alias:SUM Type:NUMERIC(18,6)
PLAN SORT ((A INDEX (RDB$FOREIGN7)))


Executing...
Done.
28 fetches, 2 marks, 0 reads, 2 writes.
0 inserts, 0 updates, 0 deletes, 4 index, 0 seq.
Delta memory: 12796 bytes.
Total execution time: 0.031s
Script execution finished.
...
Рейтинг: 0 / 0
08.10.2016, 17:45
    #39323275
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите если кто сталкивался
rcamelПричем тут запись, если речь идет о сугубо читающей транзакции.

Каждый старт транзакции это запись двух страниц. Каждый конец транзакции это ещё одна
запись тех же самых двух страниц. Очень нехороший паттерн для SSD.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
08.10.2016, 18:08
    #39323280
rcamel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите если кто сталкивался
Dimitry SibiryakovrcamelПричем тут запись, если речь идет о сугубо читающей транзакции.

Каждый старт транзакции это запись двух страниц. Каждый конец транзакции это ещё одна
запись тех же самых двух страниц. Очень нехороший паттерн для SSD.


Спасибо за мысль, попробую оптимизировать этот момент.
Вопрос остается, на HDD тот же механизм, почему он работает быстрее ?
...
Рейтинг: 0 / 0
08.10.2016, 18:10
    #39323281
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите если кто сталкивался
rcamelпочему он работает быстрее ?
Потому что ему не надо распределять запись по разным ячейкам памяти заботясь об их ресурсе.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
08.10.2016, 18:21
    #39323284
rcamel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите если кто сталкивался
Dimitry Sibiryakovrcamelпочему он работает быстрее ?
Потому что ему не надо распределять запись по разным ячейкам памяти заботясь об их ресурсе.

Спасибо, теперь картина прояснилась.
...
Рейтинг: 0 / 0
11.10.2016, 16:01
    #39324654
rcamel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите если кто сталкивался
Еще раз благодарность Dimitry Sibiryakov.

Сегодня протестировал все запросы внутри одной транзакции,
ускорение на SSD c 4 минут до 40 секунд (в 8 раз),
ускорение на HDD c 1 минуты до 30 секунд (в 2 раза).
...
Рейтинг: 0 / 0
11.10.2016, 17:50
    #39324772
H.e.l.p
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите если кто сталкивался
С 4 мин до 40 сек - это в 6 раз.
...
Рейтинг: 0 / 0
11.10.2016, 18:21
    #39324799
WildSery
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите если кто сталкивался
H.e.l.p,

Это если в мирное время.
...
Рейтинг: 0 / 0
12.10.2016, 01:22
    #39324936
kdv
kdv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите если кто сталкивался
rcamel
Код: sql
1.
2.
3.
4.
SELECT a.KCC_ID, a.KCC_H, SUM(a.KCC_KOL)
FROM KCC a
WHERE (a.KCC_ID = 35712)AND(a.KCC_H = 35)
GROUP BY a.KCC_ID, a.KCC_H


372 fetches, 4 marks, 19 reads, 4 writes.
грязный тест. потому что на hdd еще и сборка мусора произошла. см. 4 writes.
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Помогите если кто сталкивался / 21 сообщений из 21, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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