а те смятат ли смятат…

Малко борба с javascript за едно форумче. Бях забравил какво е cross-browser :)
Още малко борба с libevent. Не му разбирам, обаче помагам. Колкото мога. Системното програмиране ме кефи на моменти. Само че нямам време да задълбая за да разбера колко всъщност ме кефи.

namerime пак се лигави. Сложени ѝ бяха още 2G памет, но докато Румбата не прекомпилира ядрото (използвайки тайни заклинания ;) ) децата апача ставаха за дестина минути по 70-80М и постоянно вървяха нагоре. Тогава и {безкрайност}G нямаше да стигнат. Оправихме най-после и скрипта дето трие файловете със сесиите. По едно време показваше 800-900 потребитля онлайн. Кеф. Уф, как не са го направили да си пази сесиите в база. А колко неща чакат оправяне по тоя сайт не е истина. Защо все така става с нещата писани от външни изпълнители?

Напоследък си пишех заявките на много редове. Адски прегледно. Успяха да ме убедят защо НЕ трябва да правя така. И на MySQL му се случва понякога да затлачи. Нека това е причинено от някоя заявка (например както аз веднъж случайно пуснах една заявка към access_log таблицата на bb(няколко стотин милиона реда) по поле, което не беше ключ – мммм, вкусно) . Тогава като като примерен DBA-и си пускаме един show processlist; и виждаме какво? Виждаме в най-добрия случай SELECT. Весело нали? Успяваме да разберем от какво е било затлачено положението? Нееее. Но ако обаче сме ясновидци със зелени кристални топки? Дааааа.

Бррр. Май трябва да си тръгвам от работа вече. Тази вечер тактично отклоних всички покани за бири и подобни неща (извинявам се на всички отправили ги – ще се реванширам). Ще посрещам Боби на летището. 7 години не си е идвал. Мамка му – много време е това.

4 коментара по “а те смятат ли смятат…”:

  1. Петър Пенчев

    Ха.. това с libevent защо ли ми звучи познато? ;)

    А колкото до заявките на повече от един ред – личното ми мнение е, че изобщо, ама изобщо не си заслужава да жертваш яснотата при писане и последващо четене на кода само заради някакви неясни проблеми с диагностични средства. Лично за мен е много, много, *много* важно да си пиша по-сложни заявки на няколко реда – така и така дори и да ги видя на един ред, пак няма да разбера за какво става дума, оти да се мъча ;)

    А за проблема с виждането само на първия ред или на началото или нещо такова: ако ползваш mysqladmin, нали знаеш за mysqladmin -v processlist, което всъщност подава командата ‘show full processlist’ към сървъра? Тогава ще видиш доста повече от един ред ;)

    Друг вариант, разбира се, е използването на други диагностични инструменти, примерно прекрасния mytop на Jeremy Zawodny – http://jeremy.zawodny.com/mysql/mytop/ – който дори е писан на Perl ;) и можеш да си пипаш както си искаш, ако не ти харесва :)

  2. Николай

    Хм. Не съм ползвал mysqladmin -v processlist.
    Иначе за mytop знам. На Заводни имаме книжката му в офиса, но навика да се ползва стандартната конзолка си е навик. И трудно се променя. Пък и mytop трябва да се инсталира навсякъде (не че е трудно)…

  3. Николай

    Сега няколко думи и на свежа глава, че тази сутрин не помнех горния ми отговор :)

    Току що пробвах show process list; и show full processlist;. Аз ли нещо не съм добре или и двете показват напълно едно и също (4.0.22)? И двете си показват цялата заявка, независимо колко реда е. Е, малко грозно става, но се вижда. Иначе съм 100(от тези 100, които може впоследствие да се окажат 99.(9))% сигурен, че преди не се показваше цялата заявка, а само първия ред. Странно…

  4. Петър Пенчев

    С 3.23.x със сигурност съм имал случаи, когато ‘show processlist’ показва само първия ред, а ‘show full processlist’ – цялата заявка. Затова питах кое от двете всъщност ползваш :)

    А колкото до стандартната конзолка – да, съгласен съм, особено ако го разшириш до ‘стандартните инструменти’, които включват и mysqladmin, който е полезен за много, много неща. Когато правя разни странни неща с MySQL, почти винаги си имам една конзолка, screen-че или каквото е подходящо в момента, на което върви display -5 ‘mysqladmin pro’, и току си го зяпам :)

Твоят коментар