shd
Newbie | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Видимо, из-за того что у нас было настроен OpenFire хранить Offline Message, а также Arhiving Message, база выросла почти до 900Мб, после отключения этих фич (Offline - просто Drop) и перезапуском сервера, база всё-равно не уменьшается. Потом опять включил - он показывает: Current Search Index - The current size of the message index. 1.4 MB Archived Message Count - The total number of archived messages. 230184 Archived Conversation Count - The total number of archived conversations. 28652 нажал RebuildI Index - не помгло, но информация изменилась: Current Search Index - The current size of the message index. 9.1 MB Archived Message Count - The total number of archived messages. 230314 Archived Conversation Count - The total number of archived conversations. 28672 Отключил Arhiving, и нажал кнопку Rebuild Index. Сервер установлен на W2k3 Standart x64 с 12Г ОЗУ. Openfire 3.6.3, аутентификация пользователей на сервере через LDAP AD, на клиентах не сквозная аутентификация - пароль ручками забиваем. причем сервис OpenFire не стартует с ключами для явы ниже: -Xms1536m -Xmx1536m в конфигурационных файлах: openfired.vmoptions и openfire-service.vmoptions. Причем если запускаю как служба то валится куча ошибок в окне OpenFire с кнопкой Launch Admin и в итоге клиенты не цепляются, если запускаю openfired.exe с командной строки а потом жму Start в окне OpenFire с кнопкой Launch Admin тогда клиенты могут цеплять, клиенты - QIP Infium, Spark и Pandeon. Думал перехать с базы HSQLDB (согласно статьи http://www.igniterealtime.org/community/docs/DOC-1540), смог запустить HSQLDBUTIL(ярлыком: "C:\Program Files (x86)\Openfire\jre\bin\java.exe" -XX:NewSize=1024m -XX:MaxNewSize=1024m -XX:SurvivorRatio=8 -Xms1536m -Xmx1536m -cp "C:\hsqldbutil\hsqldbutil.jar";"C:\hsqldbutil\hsqldb.jar";"../../..\lib\mysql.jar" org.hsqldb.util.Transfer ), прописав недостающие переменные окружения (ANT_HOME на C:\ant\bin думал что нужна для распаковки формата сжатия Pack200 для hsqldbutil.jar.pack, classpath на C:\hsqldbutil\hsqldbutil.jar), но запустив не понятно как там проводить импорт. Далее решил в ручную импортировать базу в другие СУБД - отличные от HSQLDB, взяв пример настроек из http://www.igniterealtime.org/builds/wildfire/docs/latest/documentation/database.html#hsql НА MSSQL Server не получилось из-за ограничение по индексам в 900 байт. НА MySQL проблема с перекодировкой в формат UTF-8, сразу скажу пробовал - есть такой пакет GnuWin32 и есть iconv, команда iconv -f WINDOWS-1251 -t UTF-8 типа всё замечательно приобразовывает, но возникает проблема импорта в базу, при этом использую HeidiSQL, который затыкается на 85Мб импорта. написал скрипт WMI: On Error Resume Next strSrcFile = "C:\in.txt" strOutFile = "C:\OUt" FuncImportFileToAnotherFileWithChange strSrcFile, strOutFile, ";" Wscript.Echo "End" Wscript.Quit '*************************************************************** '----------------функция---------------------------------------- Function FuncImportFileToAnotherFileWithChange(FileNameSrc,FileNameOut,TexttoAdd) '------------------------Константы для задания типа открытия файла Const ForReading = 1, ForWriting = 2, ForAppending = 8 Const OverwriteTrue = True, OverwriteFalse = False, UnicodeTrue = True, UnicodeFalse = False Const ReadOnlyDeletionTrue = True, ReadOnlyDeletionFalse = False Const LimitStringOfFile = 3 ' Объявляем переменные Dim objFSO, FOut, objFSO2, flag_ChangeNameOfOutFile, Counter, GlobalCounter, CounterOfFiles ' Создаем объект FileSystemObject Set objFSO=WScript.CreateObject("Scripting.FileSystemObject") Set objFSO = CreateObject( "Scripting.FileSystemObject" ) Set objSrcFile = objFSO.OpenTextFile( FileNameSrc, ForReading ) ' Set FOut = objFSO2.OpenTextFile (FileNameOut,ForAppending,UnicodeTrue) flag_ChangeNameOfOutFile=True Counter=0 GlobalCounter=0 CounterOfFiles=0 While Not objSrcFile.AtEndOfStream If flag_ChangeNameOfOutFile Then ' Открываем выходной файл для записи Set objFSO2=WScript.CreateObject("Scripting.FileSystemObject") Set FOut = objFSO2.CreateTextFile(FileNameOut & "_" & CounterOfFiles & ".txt", OverwriteTrue,UnicodeTrue) flag_ChangeNameOfOutFile = False Counter = 0 Else End If 'strComputer=objSrcFile.ReadLine ' Записываем текстовую строку в файл 'по условию 'If Mid(STR1,14,) <> STR2 FOut.WriteLine objSrcFile.ReadLine & TexttoAdd' & vbcrlf If Counter=LimitStringOfFile Then flag_ChangeNameOfOutFile=True FOut.Close CounterOfFiles = CounterOfFiles + 1 Else End If Counter = Counter + 1 GlobalCounter = GlobalCounter + 1 WEnd '------------------------цикл перебора строк файла objSrcFile.Close FOut.Close Wscript.Echo GlobalCounter End Function '****************************************** делящий большой фай на части по 100000 записей, и добавляющий в конце каждого insert точку с запятой, получилось 37 фалов, при импорте говорит что необрабатываемая Escape последовательность(покрайней мере так говорит на PostgreSQL), поскольку в формате unicode там записаны \uNNNN, хотя прогонял iconv Кто то на форуме посоветовал не париться с MySQL и его перекодировками, а поставить PostgreSQL, поставил при чистом импорте запросов через PgAdminIII 1.10 ошибку синтаксиса, да и 800 метровый файл не просто импортировать. Эти 37 файлов, к томуже с ненужными Insert-ами Arhiving и offline messages буду инпортировать неделю (хотя сервах HP DL360 2хпроц HT правда + подключен к SAN). В связи с этим два вопроса: 1.Как уменьшить базу HSQLDB с 900 метров, (когда открываю файл openfire.script программой AlkePad, то нахожу в нем кучу инсертов в offline таблицу а также в другие таблицы, не входящие в описание, например ENTMESSAGEARCHIVE - вероятно это архивные сообщения)? 2.Куда лучше (в какую базу) и как импортироваться, поскольку больше увеличить информацию под java не представляется возможным - с параметрами имеюшими большее значение -Xms1536m -Xmx1536m просто OpenFire не стартует с ними, а с 900 метрами базы перезд затруднен, надо рруками много лопатить, когда результат перелопачивания ещё не очевиден т.е. может просто не получиться? (информация на http://www.igniterealtime.org/community/docs/DOC-1540 весьма скудна) ПОМОГИТЕ ЛЮДИ!!! |