Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

26 Март 2019, 01:19 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Часто задаваемые вопросы по LibreOffice и Apache OpenOffice.org
 
   Начало   Помощь Поиск Войти Регистрация    задать вопрос  
Страниц: 1 2 3 »   Вниз
  Печать  
Автор Тема: Cервер HSQLDB 1.8.0.10 - как избавиться от тормоза?  (Прочитано 7483 раз)
0 Пользователей и 1 Гость смотрят эту тему.
serkondr
Форумчанин
***
Offline Offline

Сообщений: 86


« Стартовое сообщение: 25 Октябрь 2015, 10:13 »

Доброго времени суток!

В 2011 г. сделал на работе для себя программу учёта по складу на ООО 3.3.0 от "Инфра-ресурс" с использованием сервера HSQLDB 1.8.0.10, работающего под Линукс-Минт (сначала версии 11, сейчас - уже 16). Поставил под него машину с процессором I7-4770K  (4x3500 MHz) и SSD - диском. Подключены к серверу 8 клиентских машин с разными программами на ООО (снабженцы, технологи, кладовщик, начальники участков и я). Программист я не профессиональный, скорее любитель.
Всё работало замечательно, но в последнее время существенно (в разы) возросло количество вводимой информации, выросло количество строк в таблицах до 30000 и более. И начались страшные тормоза в работе сервера. В системном мониторе сервера  вижу загрузку одного ядра до 100% при выполнении запросов с клиентской машины. После нажатия на элементы управления в форме проходят по 15-40 сек до появления следующих элементов или строк в таблицах форм.
Времени на создание новой программы  в другой среде (1С к примеру) катастрофически нет. Все клиенты бросили работу в такой тормозной программе, всё свалилось на меня одного. База трещит, не успеваю поддерживать её в актуальном состоянии.
Можно, конечно, попробовать уговорить директора купить процессор I7-4790K  4x4000 Mhz, но, боюсь, толку не будет.
Подскажите пож-та, что можно сделать в этой ситуации, чтоб не начинать с нуля?
Спасибо.
Записан
Yakov
Администратор
**
Offline Offline

Сообщений: 2 385


WWW
« Ответ #1: 25 Октябрь 2015, 11:48 »

Перенести сервер c HSQLDB на MySQL?
Записан

Yakov
Администратор
**
Offline Offline

Сообщений: 2 385


WWW
« Ответ #2: 25 Октябрь 2015, 12:59 »

Для базы "COMPACT SHUTDOWN" или "CHECKPOINT DEFRAG" делали?
Записан

serkondr
Форумчанин
***
Offline Offline

Сообщений: 86


« Ответ #3: 25 Октябрь 2015, 14:06 »

Перенести сервер c HSQLDB на MySQL?

Начал попытки такого перехода. Но переписать таблицы с одного сервера на другой оказалось для меня не такой простой задачей. Нашёл прогу в инете, которая формирует SQL-скрипты для создания копий таблиц. Почему-то после выполнения около 20 строк скрипта, сервер сбоит. Если разбить скрипт на куски по 20 строк, то работает норм. Но процесс будет слишком долгим.  Правда для эксперимента с MYSQL-сервером я использовал другую, более слабую машину.
А тут один опытный программист сказал мне, что особого выигрыша ждать не стоит. Лучше, по его мнению, переходить на 1С.

Для базы "COMPACT SHUTDOWN" или "CHECKPOINT DEFRAG" делали?
тНет, не делал.  Просто CHECKPOINT прописал в планировщик, на 12.00 и на 16,00, т.к. на диск данные пишутся только через эту команду, иначе висят в ОЗУ и могут быть потеряны.
Однако я заметил такую вещь, что если создать новую локальную БД, перекопировать в неё  через ООО таблицы из серверной БД, то размеры файла data в лок.базе оказываются меньшими, в десятки раз. Хотя данные все на месте. Распаковал локальную базу и подменил файлами из неё файлы базы на сервере. Так что наверное это вышла такая окольная дефрагментация.
В результате всё работает, но тормоза не поменялись.
« Последнее редактирование: 27 Октябрь 2015, 10:16 от serkondr » Записан
Yakov
Администратор
**
Offline Offline

Сообщений: 2 385


WWW
« Ответ #4: 25 Октябрь 2015, 17:12 »

А на сервере какой объём ОЗУ выделен для Java?
Может, стоит увеличить объем озу, выделяемый для JVM?


« Последнее редактирование: 25 Октябрь 2015, 17:14 от Yakov » Записан

serkondr
Форумчанин
***
Offline Offline

Сообщений: 86


« Ответ #5: 25 Октябрь 2015, 17:29 »

Я не менял настроек, так что объём установлен по умолчанию.
Спасибо за совет,  завтра попробую поэкспериментировать.
Записан
serkondr
Форумчанин
***
Offline Offline

Сообщений: 86


« Ответ #6: 27 Октябрь 2015, 08:22 »

Доброго времени суток!

Попробовал в терминале запустить сервер с дополнительными параметрами:
serverdb@serverdb-nT535 ~ $ java -Xmx2048M -Xms2048M  -cp /home/serverdb/hsqldb-1.8.0.10.jar org.hsqldb.Server -database.0 /home/serverdb/BASE/database_instr/instr -dbname.0 instr -database.1 /home/serverdb/BASE/database_met/krepezh -dbname.1 krepezh


[Server@380c76]: [Thread[main,5,main]]: checkRunning(false) entered
[Server@380c76]: [Thread[main,5,main]]: checkRunning(false) exited
[Server@380c76]: Startup sequence initiated from main() method
[Server@380c76]: Loaded properties from [/home/serverdb/server.properties]
[Server@380c76]: Initiating startup sequence...
[Server@380c76]: Server socket opened successfully in 3 ms.
[Server@380c76]: Database [index=0, id=0, db=file:/home/serverdb/BASE/database_instr/instr, alias=instr] opened sucessfully in 1418 ms.
[Server@380c76]: Database [index=1, id=1, db=file:/home/serverdb/BASE/database_met/krepezh, alias=krepezh] opened sucessfully in 154 ms.
[Server@380c76]: Startup sequence completed in 1576 ms.
[Server@380c76]: 2015-10-27 09:14:39.512 HSQLDB server 1.8.0 is online
[Server@380c76]: To close normally, connect and execute SHUTDOWN SQL
[Server@380c76]: From command line, use [Ctrl]+[C] to abort abruptly

Вроде сервер нормально стартанул на обе базы данных. Не знаю, как проверить, сколько сейчас памяти отдано под JVM.  Но тормоза всё те же, ничего не поменялось. Грустный
Записан
serkondr
Форумчанин
***
Offline Offline

Сообщений: 86


« Ответ #7: 27 Октябрь 2015, 10:21 »

p.s.
1. в системном мониторе показывает, что памяти используется 1,2 Гб, размер вообще не меняется, в т.ч. при запросах с клиентских машин.
2. т.к. использую SSD диск, раздела подкачки нет.
Записан
greenman
Форумчанин
***
Offline Offline

Сообщений: 244


« Ответ #8: 27 Октябрь 2015, 11:04 »

http://www.hsqldb.org/web/hsqlPerformance.html

Да, и можно проверить разные версии java-машины.

Был период, когда встроенная  HSQLDB не тормозила на определённых версиях сановской джавы.
« Последнее редактирование: 27 Октябрь 2015, 11:46 от greenman » Записан
kompilainenn
Мастер
*****
Offline Offline

Сообщений: 2 620



« Ответ #9: 27 Октябрь 2015, 11:35 »

мне кажется, данный вопрос надо задавать на спец.форумах, посвященным базам данных
Записан

Поддержать разработчиков LibreOffice можно тут, а наш форум вот тут
serkondr
Форумчанин
***
Offline Offline

Сообщений: 86


« Ответ #10: 27 Октябрь 2015, 13:29 »

Был период, когда встроенная  HSQLDB не тормозила на определённых версиях сановской джавы.

Да, я с этим когда-то сталкивался, но тормоза были на клиентской машине под линуксом. Если клиенты работали на винде, то тормозов не было.

Спасибо за ссылку, правда я не очень силён в этой теме. Насколько я вижу, таблицы у меня не кешируются, все данные сидят в ОЗУ хоть 2 недели, пока не сделаешь Checkpoint.
Загрузка ядер процессора тоже равномерная, до 100%  доходят разные ядра по очереди. Т.е. процесс многопоточный.
Записан
Yakov
Администратор
**
Offline Offline

Сообщений: 2 385


WWW
« Ответ #11: 27 Октябрь 2015, 13:38 »

Linux 32 битный?
И какой объём ОЗУ на машине?
Я сейчас проверил строку
java -Xmx2048M -Xms2048M
под 32битной Win -- Java не хочет запускаться, только с 
Цитата:
java -Xmx1024M -Xms1024M
работает.
Записан

serkondr
Форумчанин
***
Offline Offline

Сообщений: 86


« Ответ #12: 27 Октябрь 2015, 16:36 »

Минт 16, 32 бит. Памяти 8ГБ. Пробовал задать 3072 - не даёт. 2048 - работает.
Записан
kompilainenn
Мастер
*****
Offline Offline

Сообщений: 2 620



« Ответ #13: 27 Октябрь 2015, 17:04 »

>Минт 16, 32 бит. Памяти 8ГБ

н-да! А вы в курсе про ограничения 32-битных ОС на память?
Записан

Поддержать разработчиков LibreOffice можно тут, а наш форум вот тут
greenman
Форумчанин
***
Offline Offline

Сообщений: 244


« Ответ #14: 27 Октябрь 2015, 19:25 »

Да, я с этим когда-то сталкивался, но тормоза были на клиентской машине под линуксом. Если клиенты работали на винде, то тормозов не было.
Клиенты? Разве это было не при использовании встроенной базы (без всяких клиент-сервер)?

Минт 16, 32 бит. Памяти 8ГБ. Пробовал задать 3072 - не даёт. 2048 - работает.
А что
Код:
free
показывает?
« Последнее редактирование: 27 Октябрь 2015, 19:28 от greenman » Записан
Страниц: 1 2 3 »   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!