|
MySQL очень медленный
|
|||
---|---|---|---|
#18+
mayton Боюсь что это ближе к топику Сравнение СУБД ... |
|||
:
Нравится:
Не нравится:
|
|||
10.04.2020, 15:00 |
|
MySQL очень медленный
|
|||
---|---|---|---|
#18+
Я чуть позже сам в Сравнении подниму топик наподобие сравнений бесплатных версий коммерческих dbms. Планирую включить OracleXE, IBM DB2 Express-C. И пожалуй MS. Но сначала хочу узнать у знатоков MS. Что есть что. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.04.2020, 17:13 |
|
MySQL очень медленный
|
|||
---|---|---|---|
#18+
mayton IBM DB2 Express-C. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.04.2020, 18:29 |
|
MySQL очень медленный
|
|||
---|---|---|---|
#18+
Basil A. Sidorov, неужели IBM накрылся? Нет ну подприсели конечно их индексы. Особенно после пандемий. Но не настолько-же? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.04.2020, 18:32 |
|
MySQL очень медленный
|
|||
---|---|---|---|
#18+
mayton, Ну если экзотика, что делать ... |
|||
:
Нравится:
Не нравится:
|
|||
10.04.2020, 18:59 |
|
MySQL очень медленный
|
|||
---|---|---|---|
#18+
Посмотрел на db-engines. Мда. Наблюдается с 2015 года методичный спад. Но не так чтоб уж ужас-ужас... ... |
|||
:
Нравится:
Не нравится:
|
|||
10.04.2020, 19:10 |
|
MySQL очень медленный
|
|||
---|---|---|---|
#18+
mayton Basil A. Sidorov, неужели IBM накрылся? Есть редакция для разработчиков, но такое деление чётко предполагает, что конечный продукт будет работать c одним из коммерческих вариантов DB2. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.04.2020, 22:06 |
|
MySQL очень медленный
|
|||
---|---|---|---|
#18+
Zzz79, У тебя бардак когда нибудь прекратится? Зачем влез в чужую тему? Поговорить не с кем? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.04.2020, 21:05 |
|
MySQL очень медленный
|
|||
---|---|---|---|
#18+
Zzz79 по шедулеру два раза в день чекаю дериректорию - если есть парсю csv валидирую и пишу в бд и вот в чем прикол( оно ни на что не влияет - просто интерес) у меня на стенде этот сервис работает ок- тоесть шедулер спринговый запускаетсся и запускает джобы Народ с этим Спрингом реально помешался, суют его во все щели. На Java API уже никто программировать не умеет? https://docs.oracle.com/javase/tutorial/essential/io/notification.html Ну или хотя бы Apache Commons-IO https://commons.apache.org/proper/commons-io/javadocs/api-release/org/apache/commons/io/monitor/FileAlterationObserver.html ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2020, 10:38 |
|
MySQL очень медленный
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev, Ну, да. И, кстати, погуглил я тут - это оказывается весьма распространённая проблема и тянется ещё с Бог знает каких лохматых годов. Так что не у меня одного руки кривые в этом плане. Просто повезло, наверное какое-то волшебное сочетание звёзд на небе и фазы луны. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2020, 12:16 |
|
MySQL очень медленный
|
|||
---|---|---|---|
#18+
Zzz79 mayton пропущено... Любой дурак на SpringBatch напишет. Тоже мне архитектура. А ты попробуй сложный код упростить. Это - высшее кун-фу. Знаешь как в Гонконгских боевиках. Самый лютый мастер рукопашного боя - скромненький старичок с посохом... Spring Batch очень обширен ) он дает шансы и новичкам( много фич из коробки) но также много фич и для проф проектов я вот смотрю наш батч код и тупо не выкупаю что там и где) вот у меня щас простая проблема я делаю сервис по загрузке справочников мне по http прилетает csv я его забираю по шедулеру два раза в день чекаю дериректорию - если есть парсю csv валидирую и пишу в бд и вот в чем прикол( оно ни на что не влияет - просто интерес) у меня на стенде этот сервис работает ок- тоесть шедулер спринговый запускаетсся и запускает джобы а вот локально ничего не происходит- тоесть подходит время и ничего ставишь над application @EnableSheduling - все работает локально но как без анотации этой на стендах работает я не врублюсь какая то магия спринг актуатора судя по всему Если ты знаешь как упростить сложное приложение - это хорошо. Это уже синьорный подход. С спринг-батч для тебя непонятен потому-что юзкейс очень простой. Давай другой пример. Ты парсишь csv. Очень большой. Порядка 1 Терабайта. Это длинная транзакция. Длинтся 12 часов. И 12 часов inserts идут в БД и в конце идет commit. Это риски. БД может лопнуть. Или от сетевых инцедентов отключиться и откатиться назад. Значит надо предусмотреть разбивку длинной задачи на порции. И делать коммиты чаще. Например по 100_000 строк. Пачка. Поэтому этот длинный джоб разбивается на шаги (steps) и каждый шаг фиксирует своё состоянии в репозитарии. (Поищи есть в SpringBatch поддержка этого). Такая архитектура - более живучая и позволяет загружать твой толстый csv файл с повторами (retries). В случае сбоя (даже если перегрузить сервер по питанию) состояние job сохраняется и джоб помнит сколько шагов он уже отработал. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2020, 12:23 |
|
MySQL очень медленный
|
|||
---|---|---|---|
#18+
Garrick И, кстати, погуглил я тут - это оказывается весьма распространённая проблема и тянется ещё с Бог знает каких лохматых годов. Так что не у меня одного руки кривые в этом плане..... В чем проблема? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2020, 14:23 |
|
MySQL очень медленный
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev, помогло включение параметра 22114104 innodb_flush_log_at_trx_commit MySQL по дефолту автоматически каждую секунду сохраняет лог транзакции на диск, увеличение тайм-аута до двух секунд, сильно повышает скорость записи в таблицу, но в случае аварии эти не сброшенные в лог на диске записи будут потеряны. Это конкретная глюко-фича InnoDB, при использовании ISAM таблиц такого не наблюдается. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2020, 16:55 |
|
MySQL очень медленный
|
|||
---|---|---|---|
#18+
Это про это. mayton - поиграть с двигателем (MYiSAM/InnoDb) обычно перформанс меняется сильно от смены. - разнести конкурирующие разделы (сегмент данных БД и исходный файл) на разные физические диски. Или исходный файл в быструю сеть (1Гигабит). ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2020, 16:59 |
|
MySQL очень медленный
|
|||
---|---|---|---|
#18+
Garrick Народ с этим Спрингом реально помешался, суют его во все щели. На Java API уже никто программировать не умеет? https://docs.oracle.com/javase/tutorial/essential/io/notification.html Ну или хотя бы Apache Commons-IO https://commons.apache.org/proper/commons-io/javadocs/api-release/org/apache/commons/io/monitor/FileAlterationObserver.html Ну дык куча синтаксического сахара, плюс куча уже готовых решений, которые работают просто прописав одну зависимость, и пары строк в файле настроек. Т.е. думать не надо. Так что не удивительна популярность Spring. Правда расплачиваться приходится тем, что если нужно "то же самое, но с перламутровыми пуговицами", то начинаются проблемы. Ну и само приложение распухает как на дрожжах. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2020, 05:57 |
|
MySQL очень медленный
|
|||
---|---|---|---|
#18+
mayton Это про это. mayton - поиграть с двигателем (MYiSAM/InnoDb) обычно перформанс меняется сильно от смены. - разнести конкурирующие разделы (сегмент данных БД и исходный файл) на разные физические диски. Или исходный файл в быструю сеть (1Гигабит). 1. Я знаю, что MySQL поддерживает два разных формата файлов/хранилища данных, но как ими "поиграться", как переключится с оного на другое вообще не представляю, никаких инструкций на этот счёт не нашел. 2. Как этот совет можно применить на ноутбуке, на локально установленном MySQL? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2020, 09:46 |
|
MySQL очень медленный
|
|||
---|---|---|---|
#18+
Garrick mayton Это про это. пропущено... 1. Я знаю, что MySQL поддерживает два разных формата файлов/хранилища данных, но как ими "поиграться", как переключится с оного на другое вообще не представляю, никаких инструкций на этот счёт не нашел. 2. Как этот совет можно применить на ноутбуке, на локально установленном MySQL? В java серьезные люди чтобы играться фсякой фигней. Поставил бд. Не завелась за 10 минут - в тему базы или меняй базу. За субд нам не платят. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2020, 10:06 |
|
MySQL очень медленный
|
|||
---|---|---|---|
#18+
Garrick mayton Это про это. пропущено... 1. Я знаю, что MySQL поддерживает два разных формата файлов/хранилища данных, но как ими "поиграться", как переключится с оного на другое вообще не представляю, никаких инструкций на этот счёт не нашел. 2. Как этот совет можно применить на ноутбуке, на локально установленном MySQL? Вообще не понимаю при чем тут ноутбук. Код: sql 1. 2. 3.
Создал 2 таблички с одинаковой шапкой и с разными двигателями хранения. Загрузил в первую. Замерял время. Загрузил во вторую. Замерял. Элементарный эксперимент. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2020, 10:16 |
|
MySQL очень медленный
|
|||
---|---|---|---|
#18+
+ Еще все тоже самое только в каждой сессии (или транзакции не знаю как там) сделай Код: java 1.
и Код: java 1.
Тоесть всего 4 эксперимента. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2020, 10:19 |
|
MySQL очень медленный
|
|||
---|---|---|---|
#18+
mayton, conn = getConnection() conn.setAutoCommit(false ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2020, 10:33 |
|
MySQL очень медленный
|
|||
---|---|---|---|
#18+
Да это как вариант. Если он будет грузить внешними утилитами из sql скрипта то будут разные способы. JDBC - это будет не самый быстрый метод. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2020, 10:36 |
|
MySQL очень медленный
|
|||
---|---|---|---|
#18+
mayton JDBC - это будет не самый быстрый метод. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2020, 10:46 |
|
MySQL очень медленный
|
|||
---|---|---|---|
#18+
Zzz79 mayton пропущено... Если ты знаешь как упростить сложное приложение - это хорошо. Это уже синьорный подход. С спринг-батч для тебя непонятен потому-что юзкейс очень простой. Давай другой пример. Ты парсишь csv. Очень большой. Порядка 1 Терабайта. Это длинная транзакция. Длинтся 12 часов. И 12 часов inserts идут в БД и в конце идет commit. Это риски. БД может лопнуть. Или от сетевых инцедентов отключиться и откатиться назад. Значит надо предусмотреть разбивку длинной задачи на порции. И делать коммиты чаще. Например по 100_000 строк. Пачка. Поэтому этот длинный джоб разбивается на шаги (steps) и каждый шаг фиксирует своё состоянии в репозитарии. (Поищи есть в SpringBatch поддержка этого). Такая архитектура - более живучая и позволяет загружать твой толстый csv файл с повторами (retries). В случае сбоя (даже если перегрузить сервер по питанию) состояние job сохраняется и джоб помнит сколько шагов он уже отработал. сsv у меня мальнький- порядка 20 мб суть то в чем у меня над процессами стоят @Sheduled (cron=${.......}) когда я сборку заливаю на стенд - щедулер отрабатывает локально же задачи не запускается- тоесть анотация не отрабатывает но если над Application.class поставить @EnableSheduling - будет работать локально и вот теперь вопрос - что за магия врубает на стенде шедулеры без анотации @EnableSheduling используется spring-boot-starter-actuator На стенде Windows или Linux? Твоё приложение standalone? Или деплоится в контейнер JBoss/WebSphere/GlassFish ? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2020, 11:06 |
|
|
start [/forum/topic.php?fid=59&msg=39945968&tid=2120836]: |
0ms |
get settings: |
24ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
50ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
446ms |
get tp. blocked users: |
2ms |
others: | 321ms |
total: | 879ms |
0 / 0 |