|
Firedird 3 и производительность
|
|||
---|---|---|---|
#18+
Приветствую! Используем сторонний программный продукт который основан на Firebird 3. При открытии таблицы на клиента вытягиваются данные из таблицы, в размере 115000 записей. Делается это на нашем сервере за 20 секунд. Про оптимизацию говорить не будем. Решил проверить эту скорость на другом компе, и... Основная ОСПроцессорПамятьВируальная машинаГостевая ОСВыделенные ресурсыВремя в секундахWindows 10 Intel Core i5-6500 3.2GHz (SSD)8Gb (DDR4)9Windows 10 Intel Core i7-3770K 3.5GHz (SSD-HDD)8Gb (DDR3)10Windows 10 Intel Core i7-3770K 3.5GHz (HDD)8Gb (DDR3)VirtualBoxWindows71 ядро 4Gb12Windows XP Intel Core2 Duo E7400 2.8GHz (HDD)2Gb (DDR2)16Windows 10 Intel Core2 Duo E7400 2.8GHz (HDD)2Gb (DDR2)17-21FreeBSD 11 2 x Intel Xeon CPU E5-2609 v2 2.50GHz (SAS-SSD)64Gb (DDR3)VirtualBoxWindows76 ядер 12Gb20Debian (ProxMox)Intel Xeon CPU X3430 2.40GHz (HDD)16Gb (DDR3)ProxMoxWindows72 ядрa 6Gb21Windows 2008 Intel Xeon CPU X3430 2.40GHz (HDD)8Gb (DDR3)25Windows 7 Intel Xeon CPU X3430 2.40GHz (SSD)8Gb (DDR3)18FreeBSD 11 Intel Core i3-2120 3.30GHz (HDD)8Gb (DDR3)VirtualBoxWindows71 ядро 4Gb14 Конфиг Firebied везде по умолчанию. Подскажите пожалуйста, может кто знает, почему такие результаты на Xeon?? Или старье уже? Винты и память больше 4Gb не сильно влияют на результат. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2017, 18:22 |
|
Firedird 3 и производительность
|
|||
---|---|---|---|
#18+
05.12.2017 18:22, poison1977 пишет: > При открытии таблицы на клиента вытягиваются данные из таблицы, в размере 115000 записей. сакральный вопрос прикладной философии: НАКУА?!!! Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2017, 18:25 |
|
Firedird 3 и производительность
|
|||
---|---|---|---|
#18+
насколько помню, на однопоточной нагрузке core всегда были чуть быстрее xeon-ов аналогичной частоты. А тут еще и частота не в пользу последних. В целом меня цифры не удивляют. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2017, 18:28 |
|
Firedird 3 и производительность
|
|||
---|---|---|---|
#18+
Дело в том что программа которую мы используем, не особо хорошо оптимизирована. При добавлении в таблицу записи, этот процесс занимает 20 секунд. :) Логично что при каждом добавлении программа вытягивает все данные заново. :( ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2017, 18:32 |
|
Firedird 3 и производительность
|
|||
---|---|---|---|
#18+
Это сильно тормозит работу. :( Хотели чуть ускорить этот процесс. Теперь не понятно какой сервер нужен для нормальной быстрой работы того что есть. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2017, 18:34 |
|
Firedird 3 и производительность
|
|||
---|---|---|---|
#18+
05.12.2017 18:34, poison1977 пишет: > Хотели чуть ускорить этот процесс. > Теперь не понятно какой сервер нужен для нормальной быстрой работы того что есть. только массовые расстрелы спасут колыбель демократии (С) имхо, тут программист нужен. а не сервер. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2017, 18:38 |
|
Firedird 3 и производительность
|
|||
---|---|---|---|
#18+
Мимопроходящий, Это всё понятно, мы написали разработчику, и они обещали посмотреть и постараться оптимизировать. И сейчас они думают над решением. Но на быстрый результат мы не рассчитываем :( А работать нужно каждый день, и так уже давно мучились. А 10 секунд с каждого инсерта - это ого-го как ускорит работу :) ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2017, 18:43 |
|
Firedird 3 и производительность
|
|||
---|---|---|---|
#18+
poison1977При добавлении в таблицу записи, этот процесс занимает 20 секунд. :) Логично что при каждом добавлении программа вытягивает все данные заново. :( Нет, не логично. Вы уверены, что в программе именно так это делается? Мониторингом проверяли? Я бы просто удалил из этой таблицы 100к старых записей, перенеся их в какой-нибудь архив. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2017, 18:47 |
|
Firedird 3 и производительность
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, Монитором не проверяли конечно же, но при добавлении записи проходит 20 секунд, ровно столько же проходит когда открываешь эту таблицу в программе. Да и сами разработчики не отрицают этого. Про удалить половину записей - нужно подумать :)) Правда они могут использоваться для статистики - нужно мне уточнить этот момент. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2017, 18:57 |
|
Firedird 3 и производительность
|
|||
---|---|---|---|
#18+
poison1977Используем сторонний программный продукт который основан на Firebird 3. При открытии таблицы на клиента вытягиваются данные из таблицы, в размере 115000 записей. Делается это на нашем сервере за 20 секундМожно попробовать поиграть со сжатием и шифрованием (вкл\выкл) ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2017, 19:11 |
|
Firedird 3 и производительность
|
|||
---|---|---|---|
#18+
poison1977, я как всегда, с примитивными вычислениями. 115000 записей. 20 секунд. значит, вытаскивается 5750 записей в секунду. Допустим, у вас сетка 100 мегабит. Значит, 10 мегабайт в секунду. Следовательно, 1 запись занимает 1.7 килобайта. Что-то дохрена. Надо всю эту информацию юзеру видеть? А если у вас есть 1 гигабит, значит, капец, 1 запись это 17 килобайт. Но вообще есть подозрение, что программа много чего лишнего делает. И эти 20 секунд на самом деле не просто вычитка 100к записей. А вместо этого какой-нибудь заковыристый запрос, который ... ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2017, 19:12 |
|
Firedird 3 и производительность
|
|||
---|---|---|---|
#18+
poison1977, Как обычно, от желания сьекономить, приобретая "затычки для сокетов" вместо нормальных процессоров :D E5-2609V2 не имеет турбобуста, имеет 2.5ГГц, обрезанный кэш в 10МБ и медленно работает с ОЗУ. Ну, медленнее, чем нормальные, "необрезанные" процессоры. Учитывая, что FB подпаковывает страницы - в процессоры (их производительность) и идет жесточайший упор. Ну или разубедите меня графиком из перфмона за время исполнения этого запроса на 115000 записей, т.к. конкретно под FB3 ничего толще тестовых баз не бенчмаркал пока. И нет ничего необычного в том, что 3+ГГц корки опережают эти обрезки (2609V2), как стоячих. С другой стороны, если в Вашу базу полезут, допустим, десятка три-четыре пользователей разом тащить эти вот 115000 записей - тут Вы и увидите, для чего используют Ксеоны, даже такие. Вам нужны процессоры хотя бы E5-2637V2, с ними будет сильно бодрее, но сразу предупреждаю: одиночные Core на 3.2-3.5ГГц они всё равно не догонят на одной сессии. Впрочем, если в Вашей компании есть бесплатный программист, способный переписать клиент и базу - разумеется, это выйдет дешевле. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2017, 19:59 |
|
Firedird 3 и производительность
|
|||
---|---|---|---|
#18+
kdv, Все тесты были сделаны локально. Хотя по сетке время отдачи мало отличается. Конечно вытягивается, не просто таблица select * from tralala, думаю там запрос не к двум и даже не к трем. Очень много лишнего, но к сожалению мы не можем поменять (переписать) код программы и изменить запросы или более правильно выставить индексы в таблицах. Пытаемся решить (хотя бы частично) эту проблему железом. a_shats, Спасибо за разъяснения про процессоры! :) Переписывать чужую программу, это очень долго и муторно, по этому пользуемся тем что есть. Спасибо всем, картина прояснилась. Наше железо хоть и старенькое и работает как ему положено. Чтобы заработало быстрее, желательно убедить разработчиков переписать программу оптимизируя запросы. И сервера с хорошими новыми процессорами :) ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2017, 22:54 |
|
Firedird 3 и производительность
|
|||
---|---|---|---|
#18+
kdvpoison1977, я как всегда, с примитивными вычислениями. 115000 записей. 20 секунд. значит, вытаскивается 5750 записей в секунду. Допустим, у вас сетка 100 мегабит. Значит, 10 мегабайт в секунду. Следовательно, 1 запись занимает 1.7 килобайта. Что-то дохрена. Надо всю эту информацию юзеру видеть? А если у вас есть 1 гигабит, значит, капец, 1 запись это 17 килобайт. Но вообще есть подозрение, что программа много чего лишнего делает. И эти 20 секунд на самом деле не просто вычитка 100к записей. А вместо этого какой-нибудь заковыристый запрос, который ... Расчитывая скорость ты как минимум забыл что вычитанные записи нужно куда-то сложить. И тут тоже можно потерять кучу времени. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2017, 04:04 |
|
Firedird 3 и производительность
|
|||
---|---|---|---|
#18+
poison1977Мимопроходящий, Это всё понятно, мы написали разработчику, и они обещали посмотреть и постараться оптимизировать. И сейчас они думают над решением.Над каким решением? Как с клиента перезапрашивать не все записи, а только те, что были обновлены между последним чтением набора в датасет и подтверждением вставки/обновления? Забавно... Вам что, студенты третьего курса программу писали? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2017, 09:27 |
|
Firedird 3 и производительность
|
|||
---|---|---|---|
#18+
fraksРасчитывая скорость ты как минимум забыл что вычитанные записи нужно куда-то сложить. И тут тоже можно потерять кучу времени.Еще надо заметить, что давным-давно существует тиминг адаптеров и 10Гбитные СКС Кат.7 на витой паре. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2017, 09:31 |
|
Firedird 3 и производительность
|
|||
---|---|---|---|
#18+
Наверно имеет место сложный запрос с кучей агрегатных функций. Если логика разработчиков (или просто логика работы) такова, что в оперативной работе нужно видеть массу аналитических цифр, нужно посоветовать разработчикам создать отдельную таблицу на серваке, куда триггерами будут писаться нужные агрегаты. Данные тогда будут вытягиваться из одной таблицы секунды за две. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2017, 11:44 |
|
Firedird 3 и производительность
|
|||
---|---|---|---|
#18+
06.12.2017 11:44, KreatorXXI пишет: > нужно посоветовать разработчикам создать отдельную таблицу на серваке... ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2017, 11:50 |
|
|
start [/forum/topic.php?fid=40&fpage=38&tid=1561314]: |
0ms |
get settings: |
11ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
35ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
48ms |
get tp. blocked users: |
2ms |
others: | 11ms |
total: | 138ms |
0 / 0 |