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

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

А запись?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Помогите если кто сталкивался
    #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
Помогите если кто сталкивался
    #39323240
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Помогите если кто сталкивался
    #39323243
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rcamelПриложение делает 30 тыс. коротких запросов
Транзакция одна на все запросы или каждый запрос в отдельной транзакции?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Помогите если кто сталкивался
    #39323254
rcamel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Статистика в файлах
...
Рейтинг: 0 / 0
Помогите если кто сталкивался
    #39323255
rcamel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Статистика в файлах
...
Рейтинг: 0 / 0
Помогите если кто сталкивался
    #39323256
rcamel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Каждый запрос в отдельной
...
Рейтинг: 0 / 0
Помогите если кто сталкивался
    #39323257
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rcamelКаждый запрос в отдельной
Это плохо. Очень плохо. Если нет возможности поменять логику - хотя бы отключи Forced Writes.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Помогите если кто сталкивался
    #39323264
rcamel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я что то недопонимаю ? Причем тут запись, если речь идет о сугубо читающей транзакции.
...
Рейтинг: 0 / 0
Помогите если кто сталкивался
    #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
Помогите если кто сталкивался
    #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
Помогите если кто сталкивался
    #39323275
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rcamelПричем тут запись, если речь идет о сугубо читающей транзакции.

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

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


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

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

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

Это если в мирное время.
...
Рейтинг: 0 / 0
Помогите если кто сталкивался
    #39324936
Фотография 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
21 сообщений из 21, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Помогите если кто сталкивался
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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