Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » greylink dc++

Модерирует : gyra, Maz

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119

Открыть новую тему     Написать ответ в эту тему

namchik



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Общая тема по клиентам DC++

   
greylink - dc++ клиент, открывающий вам многочисленные уникальные возможности (которые вследствии закрытости исходного кода появятся в других клиентах намного позже или не появятся вообще). Программа хорошо оптимизирована и зарекомендовала себя на высоких нагрузках Подробнее...

Официальный сайт: RUS
 
 
Последняя версия:
 
x86
 
x64    
        0.61 (9.05.2012)
0.58 (11.02.2012)
   
 
   
Параллельный форум Live dc++ forum
 
Архив версий greylink - коллекция Ukito (здесь можно найти и скачать практически любую версию программы)  

 

Голосуем за greylink здесь

 
генеалогическое древо:
пращур: StrongDC++ распространяется вместе с исходниками по лицензии GNU/GPL
его потомок: ApexDC++ распространяется вместе с исходниками по лицензии GPL-2  
его потомок: Apex DC++ speed mod распространяется вместе с исходниками по лицензии GPL
greylink is freeware! (но с закрытыми исходниками)
из файла с лицензией старых версий:

Цитата:
Внимание! Програмное обеспечение (далее - ПО) выкладывается на сайте исключительно для внутреннего использования командой GreyTeam. Cкачивая ПО, используя или распространяя его, вы нарушаете лицензии третьих сторон, имеющих какие-либо права на компоненты ПО. Вышеперечисленные действия являются незаконными. GreyTeam не несёт никакой ответственности за Ваши действия.

 
Под внутренним использованием GeryTeam понимает - доступна всем подряд.

Всего записей: 4080 | Зарегистр. 01-06-2004 | Отправлено: 03:11 13-12-2008 | Исправлено: Ukito, 17:33 01-08-2013
PimenovPavel



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Укажи конкретнее какие индексы создал дополнительно.
 

Всего записей: 202 | Зарегистр. 27-09-2004 | Отправлено: 11:39 09-11-2014
mystral



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
koresh_nash

Цитата:
Очень всем рекомендую открыть базу с настройками gl2.db3 и добавить туда индексы по полям на самые большие таблички


Цитата:
Укажи конкретнее какие индексы создал дополнительно.

На примере возможно показать? Будет полезно и в шапку добавить.

Всего записей: 349 | Зарегистр. 28-03-2008 | Отправлено: 11:59 09-11-2014
koresh_nash

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Секрет ускорения GreyLink - создание индексов:  
 
CREATE INDEX [IX_DLQUEUE___C_ROOT] ON [DLQUEUE]([C_ROOT]) ;
CREATE INDEX [IX_DLQUEUE___ADDED] ON [DLQUEUE]([ADDED]) ;
CREATE INDEX [IX_DLQUEUE___TARGET] ON [DLQUEUE]([TARGET]) ;
CREATE INDEX [IX_DLQUEUE___TEMPTARGET] ON [DLQUEUE]([TEMPTARGET]) ;
CREATE INDEX [IX_DLSOURCE___C_PEER] ON [DLSOURCE]([C_PEER]) ;
CREATE INDEX [IX_DLSOURCE___C_DLQUEUE] ON [DLSOURCE]([C_DLQUEUE]) ;
CREATE INDEX [IX_MESSAGE___TM_STAMP] ON [MESSAGE]([TM_STAMP]) ;
CREATE INDEX [IX_MESSAGE___MSG_CODE] ON [MESSAGE]([MSG_CODE]) ;
CREATE INDEX [IX_MESSAGE___N_MESSAGE] ON [MESSAGE]([N_MESSAGE]) ;
CREATE INDEX [IX_PEER___CID] ON [PEER]([CID]) ;
CREATE INDEX [IX_PEER___NICK] ON [PEER]([NICK]) ;
CREATE INDEX [IX_PEER___LASTIP] ON [PEER]([LASTIP]) ;
 
1. индексы ко всем таблицам, где более таблицы не пусты, это зависит от ваших персональных настроек
2. индекс на поле PRIMARY KEY или уже созданные индексы создавать повторно не надо, хотя, созданный по ошибке двойной индекс практически не ухудшит общее резкое ускорение
3. индекс на каждое поле каждой таблицы в отдельности (а не составной индекс сразу на несколько полей)
4. индексы на поля типа "Filesize", "Time", "Flags" создавать не нужно, т.к. вряд ли по ним идет выборка (см. пункт 2).
 
Софт - SqliteDog и SQLite Maestro, десятки других. Бекапим файл перед операциями. Не при запущенным GrayLink. Если какие таблицы битые и не открываются, в SqliteDog есть команда "Очистить таблицу" без уничтожения ее структуры. Частично битые таблицы можно восстановить командой ".dump <имя таблицы>" из команды "sqlite3.exe gl2.db3" с оф.сайта SQLite и потом вставив дамп в очищенную таблицу. Еще команду "sqlite3.exe gl2.db3 VACUUM" можно применить, для сжатия пустого места, но на скорость не влияет.

Всего записей: 38 | Зарегистр. 09-09-2002 | Отправлено: 14:37 09-11-2014
PimenovPavel



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
т.е. ты не нашел конкретное поле по которому идет where
а при этом разрабы грея забыли построить индекс?
 
звиняй, но создавать индексы по всем не пустым полям - глупость.
увеличивается размер базы и увеличивается время модификации таблиц
т.к. лишние бестолковые индексы тоже нужно перестраивать.
 
и как ты измерял ускорение?
визуально - может у тебя другие факторы повлияли?
например тот-же VACUUM - он дефрагментирует базу и уменьшает дисковые операции
 
вот пример - ты порекомендовал построить индекс по  
 
CREATE INDEX [IX_MESSAGE___N_MESSAGE] ON [MESSAGE]([N_MESSAGE]) ;  
 
открой фаром екзешник и поищи там N_MESSAGE в виде полного слова
1. создание таблицы
create table MESSAGE(C_MESSAGE      integer not null primary key,TM_STAMP       int64 not null,MSG_CODE       integer not null,C_ROOT         integer not null,N_MESSAGE      varchar(512))
2. вставка в нее
insert into MESSAGE (C_MESSAGE,TM_STAMP,MSG_CODE,C_ROOT,N_MESSAGE)
select C_MESSAGE,TM_STAMP,MSG_CODE,C_TTH,N_MESSAGE from SRC.MESSAGE
 
вывод - ты своим индексом только тормознешь операцию insert
 
Конечно разрабы грея могли зашифровать остальные запросы в бинарнике
но все равно сложно найти применение индекса по полю N_MESSAGE

Всего записей: 202 | Зарегистр. 27-09-2004 | Отправлено: 18:43 11-11-2014
koresh_nash

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Не могу не согласиться, тем не менее твои замечания вызывают лишь улыбку:
1. до индексов скорость запуска - 40-60 секунд (100% iostat под 60-80Мб/с), после индексов - 2 секунды
2. конкретно поле MESSAGE у меня во всей таблице NULL, следовательно размер индекса по этому полю так же нулевой (я вообще изначально эту таблицу грохнул, но почему-то накрылась история закаченных файлов)
3. гигантское ускорение от создания нужного не созданного индекса где-то на 2-3 порядка эффективнее, чем торможение лишним индексом
4. пункт 3 объясняется тем, что софт редко пишет новые строки, но часто их читает... новые строки появляются, когда я добавляю файл на скачку или скачка завершается, чтений и обновлений уже созданных строк (без перестроения индекса) совершается десятками-сотнями операций в секунду
5. я минут 10 искал в инете софт, перехватывающий трафик от чужого приложения к локальной псевдобазе SQLite, но ничего не нашел... более 10 минут траты личного времени, чтобы сделать задачу более правильно (с анализом WHERE) не целесообразно
6. мое ускорение запуска базы на 450Мб (только история скаченных файлов и очереди закачки) с 60 секунд до 2х можно уменьшить до 1,5 или 1 секунды... но кого уже будет волновать такая мизерная дополнительная эффективность, на фоне достигнутой
7. VACUUM уменьшил базу с 450Мб до 380Мб, на скорость это не повлияло, поэтому я и говорю, что это не существенно
 
Если хочешь чем-то помочь юзерам софтины - сделай батничек, который накатит дамп с созданием индексов. Не программеры то не вдупляют, что за термины используются - индекс, поля, таблицы и т.д...

Всего записей: 38 | Зарегистр. 09-09-2002 | Отправлено: 21:21 11-11-2014 | Исправлено: koresh_nash, 21:24 11-11-2014
Kiril777



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
PimenovPavel
koresh_nash
есть какаято сборка с внесенными изменениями для ускорения? если нельзя выкладывать, то отпишитесь пожалуйста в лс, буду очень рад))
спасибо!

Всего записей: 2740 | Зарегистр. 20-02-2009 | Отправлено: 14:29 18-11-2014
koresh_nash

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Итак, на счет ускорения GreyLink в 100-1000 раз. Это сообщение - самое важное сообщение среди всей информации про софтинку =)
 
1. Закрываем greylink dc++ . В ее каталоге Setting есть файл "gl2.db3". Это и есть база. Бекапим!
 
2. Инсталлируем SqliteDog (скачивал варез, кажись, с Руборда). Запускаем. Файл - Открыть базу - указываем файл из пункта 1.
 
3. Если сделано правильно, в левой части программы появятся слова "BTFILE", "MESSAGE" и прочие названия таблиц, около 15-20 шт. Можно потыкать и посмотреть содержимое. При просмотре сразу нажимайте внизу справа на "Стоп" в виде красной кнопки, иначе он будет в окно подгружать все содержимое таблицы и зависнет.  Внимание: на кнопку "BEGIN" внизу справа не нажимать!  
 
4. Теперь главное. В софтине есть вкладка SQL (темная). Копируем туда в поле ввода текст
 
CREATE INDEX [IX_DLQUEUE___C_ROOT] ON [DLQUEUE]([C_ROOT]) ;
CREATE INDEX [IX_DLQUEUE___ADDED] ON [DLQUEUE]([ADDED]) ;
CREATE INDEX [IX_DLQUEUE___TARGET] ON [DLQUEUE]([TARGET]) ;
CREATE INDEX [IX_DLQUEUE___TEMPTARGET] ON [DLQUEUE]([TEMPTARGET]) ;
CREATE INDEX [IX_DLSOURCE___C_PEER] ON [DLSOURCE]([C_PEER]) ;
CREATE INDEX [IX_DLSOURCE___C_DLQUEUE] ON [DLSOURCE]([C_DLQUEUE]) ;
CREATE INDEX [IX_MESSAGE___TM_STAMP] ON [MESSAGE]([TM_STAMP]) ;
CREATE INDEX [IX_MESSAGE___MSG_CODE] ON [MESSAGE]([MSG_CODE]) ;
CREATE INDEX [IX_MESSAGE___N_MESSAGE] ON [MESSAGE]([N_MESSAGE]) ;
CREATE INDEX [IX_PEER___CID] ON [PEER]([CID]) ;
CREATE INDEX [IX_PEER___NICK] ON [PEER]([NICK]) ;
CREATE INDEX [IX_PEER___LASTIP] ON [PEER]([LASTIP]) ;  
 
и нажимаем F5, чтобы исполнить этот запрос.
 
5. Сервис - управление:
a) сжать базу (VACUUM)  
b) оптимизировать индексы (ANALIZE)
c) перестроить индексы (INDEXES)
 
Команды выполняются долго, о чем свидетельствует таймер в заголовке окна. Не прерывайте. Если таблицы местами битые - то будут некоторые ошибки. Битые таблицы нужно починить, иначе GreyLink будет вечно подвисать. Обратитесь к программисту, он сможет найти дублирование уникального индекса (удалить их) и частично восстановить данные в битых таблицах. Частично битые таблицы можно восстановить командой ".dump <имя таблицы>" из команды "sqlite3.exe gl2.db3" с оф.сайта SQLite и потом вставив дамп в очищенную таблицу. Перебирая имя таблиц при создании дампа и можно выяснить, кто именно побился. Еще сам GreyLink в статусной строке иногда про это пишет.
 
6. В самом низу софтины, где обычно статусная строка, есть куча настроек. Аккуратно: в выпадающем меню (4е справа), где выбрано "DELETE", заменить на "WAL".
 
Кто хочет эксперимент: можно поставить "OFF". Но, не знаю, будет ли работать и даст ли это прирост. Вообще, можно все виды журналирования транзакций пробовать. Но это опасно .-) "DELETE" & "WAL" - самые безопасные режимы, чтобы база не билась, когда GreyLink вырубают некультурно (отключение питания). "OFF" - быстрее, но небезопасно к сбоям. "DELETE" - самый тормозной режим.
 
При переходе в WAL режим база обзаведется еще 2мя файлами: gl2.db3-shm + gl2.db3-wal
 
7. Закрываем SqliteDog, запускаем GreyLink. Радуемся, что база в ~450 метров оптимизирована и грейлинк стал запускаться за 1,5 секунды! Проверяем весь функционал, что данные в таблицах исправлены и не удалились из-за ваших кривых рук, скорость работы повысилась и тормоза с подвисаниями на корню исчезли .-)
 
8. Бекап не удаляйте. Если все накроется медным тазом, то проделайте все, что выше, еще раз, только "DELETE" на "WAL" не изменяйте. Желательно внешними средствами, пока GreyLink не запущен, бекапить весь каталог настроек.
 
9. Данным методом можно ускорить кучу другого софта, включая служебные таблицы на телефонах (iOS, Android). SQLite базы - повсюду. Например, настройки Firefox уже оптимизированы и ускорять некуда (WAL+индексы).

Всего записей: 38 | Зарегистр. 09-09-2002 | Отправлено: 04:07 27-11-2014
4Pips

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Спасибо за детальное изложение. Вот теперь акценты расставлены справедливо, а именно: если у вас "тормозит" какое-то приложение, то возможно это из-за битых таблиц. Если их грамотно почистить, то ваше приложение станет работать быстрее.
Ваша база в 450МБ - это не результат работы нескольких месяцев, это наследие, с которым просто не хочется расставаться. Скорее всего такая база начала составляться много версий назад, и в результате накопились ошибки. Конечно надо за этим следить.
В самом Грейлинке есть возможность почистить базу данных, но если они были записаны криво, а очень хочется их сохранить, то потребуются более мощные сторонние инструменты. Помимо уже названного SQliteDog, можно посоветовать еще SQLite Expert Professional.

Всего записей: 95 | Зарегистр. 05-03-2009 | Отправлено: 09:38 27-11-2014
KobaBR



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
GreyLink 0/58 x64
 
Где хранятся настройки ???
В setting ничего нет
 
 
И еще проект умер что ли???

Всего записей: 355 | Зарегистр. 21-06-2007 | Отправлено: 17:59 14-12-2014
vzhik66



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Можно было бы в шапке выложить список хабов, или ссылку на список!

Всего записей: 9 | Зарегистр. 02-12-2008 | Отправлено: 22:50 14-12-2014 | Исправлено: vzhik66, 22:52 14-12-2014
irabel

Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
vzhik66
http://dchublist.ru
в настройках интернет-хабов этот адрес по умолчанию

Всего записей: 355 | Зарегистр. 09-06-2006 | Отправлено: 21:31 17-12-2014 | Исправлено: irabel, 21:32 17-12-2014
brduakh



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
KobaBR
давно проект умер, используйте FlylinkDC++ намного функционален сейчас, имеет свой установщик, хабы и совершенствуется постоянно!

Всего записей: 4516 | Зарегистр. 08-09-2012 | Отправлено: 11:49 19-12-2014
4Pips

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
brduakh
Flylink "совершенствуется постоянно" - согласен,
"намного функционален сейчас" - не согласен.

Всего записей: 95 | Зарегистр. 05-03-2009 | Отправлено: 12:39 19-12-2014
lordbss



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
brduakh
> имеет свой установщик, хабы
 
"Только сегодня при покупке квартиры вы получаете в подарок Бейсболку!!!"

Всего записей: 68 | Зарегистр. 12-01-2006 | Отправлено: 12:53 19-12-2014
brduakh



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
4Pips
интересно, а какой же клиент сейчас лучше флая? апекс? диси++ в которых ничего нового, 5 ошибок месяцами правят... и то по кругу одно и тоже, а грей уже неактуален своим функционалом, на новых системах падает, в добавок флай уже игнорит просто грей, да и защита в флае сильнее от ботов и вообще от всякого флуда и спама

Всего записей: 4516 | Зарегистр. 08-09-2012 | Отправлено: 20:37 19-12-2014
4Pips

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
brduakh
С задачами Найти, Скачать и Раздавать хорошо справятся многие клиенты, например EiskaltDC++ или классический DC++. Но вам нравится термин функционал. Я не являюсь фанатом чего-либо, тем более какого-то софта, но ваша фраза "грей уже неактуален своим функционалом" кажется мне несправедливой. Если мы с вами примерно одинаково изучили возможности грея и флая и вы настаиваете на своей фразе, то это уже скорее вопрос веры. Как работает грей в Windows8 я не знаю, но в более ранних версиях и в Linux(wine) мне кажется, но не настаиваю, что грей смотрится лучше других в плане наличия дополнительных возможностей. Флай тоже очень хорош, но несмотря на свежесть его версий, с фразой "грей уже неактуален своим функционалом" многие не согласятся.

Всего записей: 95 | Зарегистр. 05-03-2009 | Отправлено: 10:11 20-12-2014 | Исправлено: 4Pips, 10:12 20-12-2014
Alexyz21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
с фразой "грей уже неактуален своим функционалом" многие не согласятся

Это точно - lua в грее позволяет расширять функционал, во флае же это невозможно.  

Всего записей: 3471 | Зарегистр. 16-06-2007 | Отправлено: 19:37 08-01-2015
Shadowland

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
у кого-нибудь сохранились списки расширений которые соответствуют категориям поиска (аудио\сжатый\документ\исполняемый файл\картинка\видео\CD/DVD) ?  
поделитесь пожалуйста
 


промежуточный результат собранный анализом результатов поиска такой:  
ape|flac|mid|mp3|ogg|wav|wma  
7z|ace|bz2|gz|rar|tgz|zip  
chm|doc|docx|htm|nfo|odt|pdf|ppt|pptx|rtf|txt|xls|xlsx  
com|exe|msi  
ai|bmp|dcx|eps|gif|ico|img|jpeg|jpg|pcx|png|psd|psp|tga|tif|wmf  
avi|divx|flv|m2v|mkv|mov|mp4|mpeg|mpg|ts|vob|wmv  
cue|iso|isz|mdf|mds|nrg|pdi  
 
кому-нибудь есть что добавить ?

Всего записей: 459 | Зарегистр. 14-11-2005 | Отправлено: 21:23 30-01-2015 | Исправлено: Shadowland, 02:18 04-02-2015
PimenovPavel



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Какой в грее точно неизвестно
у флая вот такой
 
https://github.com/pavel-pimenov/flylinkdc-r5xx/blob/fa143725b0bb73dcf85af7cbfb113122c242f006/client/ShareManager.cpp#L1814

Всего записей: 202 | Зарегистр. 27-09-2004 | Отправлено: 21:27 30-01-2015
snike0437

Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Судя по табличке отсюда полноценной альтернативы грею нет Разве что флай, но он по функционалу не дотягивает...

Всего записей: 91 | Зарегистр. 18-05-2006 | Отправлено: 17:26 17-04-2015
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119

Компьютерный форум Ru.Board » Компьютеры » Программы » greylink dc++


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru