• Начинаем изучать STM32 или Управляем светом по-умному

      Небольшое вступление


      Однажды, заехав в очередную съемную квартиру, я столкнулся с определенным неудобством, которое достаточно сильно напрягало: выключатель света в основной комнате оказался за шкафом-стенкой, который был прикручен к стене, и его перестановка была невозможна т.к. на это требовалось значительно много времени и сил. Решить данную проблему хотелось очень сильно и в голову пришла одна мысль: сделать дистанционный пульт для управления освещением!

      Именно с идеи создания собственного пультика для управления светом в комнате и началось моё увлечение электроникой, микроконтроллерами и различными радиоустройствами.
      Читать дальше →
    • Сервер на стероидах: FreeBSD, nginx, MySQL, PostgreSQL, PHP и многое другое

        Нравится мне эта картинка, у меня, вот никогда такие красивые графики в какти не получались =(

        Введение


        С момента написания мной предыдущей статьи по оптимизации этой связки прошло довольно много времени. Тот многострадальный Pentium 4 c 512Мб памяти, обслуживающий одновременно до тысячи человек на форуме и до 150,000 пиров на трекере уже давно покоится на какой-нить немецкой, свалке, а клуб сменил уже не один сервер. Всё сказанное в ней всё ещё остаётся актуальным, однако есть вещи которые стоит добавить.
        Статья большая, так что будет поделена на логические блоки:

        0. Зачем вообще что-то оптимизировать?
          
        1. Оптимизация ОС (FreeBSD)
          1.1 Переход на 7.х 
          1.2 Переход на 7.2
          1.3 Переход на amd64
          1.4 Разгрузка сетевой подсистемы
          1.5 FreeBSD и большое кол-во файлов
          1.6 Softupdates, gjournal и mount options
          
        2. Оптимизация фронтенда (nginx)
          2.1 Accept Filters
          2.2 Кеширование
          2.3 AIO
          
        3. Оптимизация бэкенда
          3.1 APC
          3.1.1 APC locking
          3.1.2 APC hints
          3.1.3 APC fragmentation
          3.2 PHP 5.3
          
        4. Оптимизация базы данных
          4.1 MySQL 
          4.1.1 Переход на 5.1
          4.1.2 Переход на InnoDB
          4.1.3 Встроеный кеш MySQL - Query Cache
          4.1.4 Индексы
          
        4.2 PostgreSQL
          4.2.1 Индексы
          4.2.2 pgBouncer и другие.
          4.2.3 pgFouine
          
        4.3 Разгрузка базы данных
          4.3.1 SphinxQL
          4.3.2 Не-RDBMS хранилище
          4.4 Кодировки
          4.5 Асинхронность
          
        Приложение. Мелочи.
          1. SSHGuard или альтернатива.
          2. xtrabackup
          3. Перенос почты на другой хост
          4. Интеграция со сторонним ПО
          5. Мониторинг
          
         6. Минусы оптимизации

        Кому что-нибудь из этого списка интересно, жмём сюда...