След като се прибрах от работа се заиграх с stat press добавката ми, че работеше ужасно бавно – когато си цъках по статистиките имах 2-3 минути зареждане на страница 😐 пълен леш. Днес най после реших да орпавя тоя смотан бъг. Първо разгледах дизаина на базата данни където се пазеше информацията която ползваше добавката – бях шокиран нито един индекс а размера и не е никак малък над 220МБ и над 1000000 (милион) реда. Прегледах набързо заявките видеях, в where кои полета взимат най денино участие бяха 3 spider feed и date. Веднага ги направих пълен индекс и проверих резултата беше зашеметяващ 20-30 секунди зареждане на страниците. Резултата е красноречив а най – интересното е, че не се промени кардинално ресурсите които ползва DB-a въпреки индексите които му набих. Все още несъм напълно доволен, ще изчета всики sql-ли които прави плъгина и ще видя какво може да се опримизира по тях, въпреки че вече ще е по трудно там.

Промених и url-тата на дребното ми блогче с цел по добро SEO. Не че това ме интересува или съм тръгнал да рипам да съм по първите места на google ама като мога да дръпна малко защо не 😉

Преди известно време ми се беше случило като се опитвах да си качвам фаилове на сървъра през sftp да не успея а предишния ден бях качвал. Днес един прител ми писа, че има същия проблем и се сетих, че исках да го опиша 😆 И така проблема супер кретенски декларация в /etc/ssh/sshd_config и по точно се налага да изтрием реда със съдържание

Subsystem sftp /usr/lib/openssh/sftp-server

И на негово място добавяме

Subsystem sftp internal-sftp

Рестартираме си ssh сървъра и всичко е на мястото си 🙂

Еее доживяхме го има NUKI 1.0 🙂 Защо от версия 0.6 скочих на 1.0 ще ме попитате ами много просто – вече имаме едно 100% универсално NUKI покриващо всички изисквания, с малки изключения кото ще фиксна за в бъдеще и по важното настоящата версия е реализирана по коренно различен начин. Върнах се към старата ми идея да е демон и с малко проби и грешки този път нещата сработиха отлично. Сървърното приложение е изкормено изцяло като изключим едно кратки php скриптче от което черпи информация NUKI-то 🙂

Е вече постигнах почти всичко с NUKI накъде повече? Ами ко трябва да съм честен винаги може и повече, например обмислям да направя инсталатор на самия скрипт да речем да направя нещата някак си по лесни и разбираеми дори и за не линукс потребител всичко да се случва с възможно най- малко проблеми за потребителя. Но за всичко си има време. Към момента в NUKI освен всичко друго съм добаваил модул които следи за връзка към сървъра, ако изчезне самия приемник се рестартира. За момента все още несъм установил дали работи хихихиихх 😆 Абе като цяло вианги ще има какво да се желае още или някоя свежа идея от някои все пак една глава неможе да мисли като 2-3-4 или повече, дори и моята 😈

ps Отново пускам с кодово име. Смятам че вече имам една изключително твърда основа за всичко което реша за в бъдеще да правя със скрипта ми

След доста дълго писане и тестване най посля мога да споделя че 0.6-та версия на NUKI е факт. В нея подобренията са токова много и всичко е толквоа променено, че направо все едно е написана наново 🙂 Стига глупости ми да давам направо.

  1. Изцяло пренаписанан и променена логика за проверка на процесите по приемниците
  2. Разделение на приемниците на приемщи свободен и криптиран канала
  3. Универсализация на декриптиращия процес 🙂 😉
  4. Връзка са база данни защото предавам аргументи за по горните точки към скрипта на NUKI
  5. Оптимизация на сктиптовата скорост 🙂
  6. Скритовете на приемника са 2 един основен и един допълнителен за проверка на процесорното време на процесите – просто се опитвам да постигна функционалноста на дефиниране на функции които ги няма в ash

Малко по грамотно описание в changelog-а 🙂

Ами маи са момента това стига 😉 Не са малко промените. Производителноста на скрипта стана неколкократно по голяма – от пускането му до момента не ми се е налагало да рестартирам на рака приемник 🙂 Сега забелзам че съм ибрал интересна дата за анонсиране ден преди рождения ми ден хихихихихихи Поздравче с следната песничка, както и за мен след толко тежък труд 😆

А и забравих да кажа защо съм избрал кодово име за тази версия 😉 Защото е вероятно някои от последните версии преди да достигна 100%-ва функционалност която искам 😈

http://www.youtube.com/watch?v=hUokMbJC3P8

Най- после ми остана да оправя и последните щрихи около моето скромно проектче NUKI 🙂  Като цяло има адски много промени каде явни каде не, но определено си беше доста ползотворно упгреидване по всички скриптове и дори се наложи да добавя 2 нови че  мигрирам от плоски фаилове към бази данни 😉 Също така си направих и едно changelog фаилче, че нали съм старост нерадост забравям кога какво 😉 Фаилочето е с кодиравка UTF-8, да знаете в случаи че го отворите през браузара 😉 Стига празни приказки нека да представя промените 😆

Подобрена функционалснота за дневниците:
1. Заради неточност в времето на повечето приемници се взима времто на сървъра
2. Повече информация – причина за рестарт на приемника
Клиентската част получава параметри за това дали канала е криптиран, ако е криптиран и няма необходимия сервиз се рестартира приемника. Ако не е не е задължителен рестарта.(бъдещо фиксване)
Сървърната част предава аргументи

Като цяло нещата по логването бяха много бъгави всели приемник с негова си дата и час и определено ми беше проблем, затова реших че е по разумно да идва дата от сървъра които съм го закачил към NTP съръвър 😉 Лог системата е направена да ми различава рестартите и прочие че нали съм лювопитно хлапе хубаво е да знам 😉 Сървърната част е леко променен че да подава съответните аргументи към приемника които преди това съсм съставил от базата данни 😉 Ами в общи и не чак толкова общи линии е това