Ускоряем INSERT в 1С-Bitrix

После установки этого безобразия (1C-Bitrix) заметил, что медленно отрабатывает генерация страниц..
Копнув в лог заметил много таких вставок в БД

TIME: 0.0178248882 SESSION: blkqvjd37heib431532gddfip5  CONN: Resource id #49
INSERT INTO b_stat_hit.......

И каждая из них выполняется по 15-50мс
Погуглив нашел решение.

Читати далі

Screenshot сайта с консоли Linux

Появилась задачка отслеживать как меняется дизайн сайта на протяжении недели с шагом в 3часа.
Можно конечно запускать wget по расписанию, но не сильно удобно смотреть потом 100500 файлов.
После поиска по просторам инета был найден простенький способ.
Для этого нам понадобится какой-то сервер (рабочая машина) на Linux.

Для захвата изображения будем использовать програмку CutyCapt

CutyCapt is a small cross-platform command-line utility to capture WebKit’s rendering of a web page into a variety of vector and bitmap formats, including SVG, PDF, PS, PNG, JPEG, TIFF, GIF, and BMP

В итоге мы получим картинку с сайтом отрендереном движком WebKit. Однако требуется Xserver для рендера.

Читати далі

Обновление WP без доступа к FTP

Не всегда есть доступ к блогу на WordPress через фтп протокол, да и постоянно вводить пароль на фтп, который еле запоминаем тоже не прикольно
Для этих случаев WP может обновлятся через локально предоставленый доступ.
В файле wp-config.php нужно переопределить переменную, которая за сие безобразие отвечает. Делается это вот так:

define('FS_METHOD', 'direct');

Читати далі

«DELETE FROM users» — как застраховать себя от подобных неприятностей в MySQL

Скомуниздил описание интересной опции мускуля с Хабра:
Когда в очередной раз, пытаясь изменить пароль одного из пользователей или вручную поправить поле какой-нибудь одной записи, забываешь ввести WHERE, ты обеспечиваешь себе не только тонну кирпичей, но и незабываемый экспириенс по восстановлению бекапов.

Читати далі

OTRS: хранение заявок на ФС

OTRS
OTRS

По умолчанию все заявки в системе OTRS хранятся в БД, причем там же хранятся и вложения к заявкам, а это скриншоты, логи ошибок, програмки и т.д.
Когда заявок много, то база из-за этого может разростись на несколько Гб, что сказывается на скорости работы самого HelpDesk особенно когда строятся отчеты или производится поиск.
Для этого в самом OTRS предусмотрен вынос всех вложений и писем на файловую систему.
Прежде чем начинать перенос данных рекомендую сделать backup и проверить права на папку var/attachment и var вцелом. Владельцем должен быть пользователь otrs (согласно инструкции по установке)

Читати далі

Статистика Exim в Cacti

Имея настроеную систему рисования графиков Cacti, захотелось еще и рисовать загруженость почтового сервера Exim
Для этого воспользуемся скриптами любезно выложеными на форуме Cacti, но немного поправив их
Для начала скажем демону snmp откуда брать статистику

cat /etc/snmp/snmpd.conf
.....
extend .1.3.6.1.4.1.8607.64 mx-stats /bin/cat /var/spool/exim/statistics

Теперь научим систему генерировать эту статистику каждые 3мин

crontab -l
*/3 * * * * /scripts/snmp/exim_stats.pl

Читати далі

Мониторинг с помощью Observium

Внешний вид Observium
Внешний вид Observium

Observium является PHP / MySQL системой мониторинга сети, ориентированной прежде всего на Cisco и Linux сети, но и включает поддержку широкого спектра сетевого оборудования и операционных систем.

Observium выросла из-за отсутствия простых в использовании NMSes. Она предназначена для обеспечения более нативного интерфейса управления. Разрабатан для быстрого сбора информации о устройствах и хранения истории изменений без ручного вмешательства.Есть режим autodiscovery.

Observium еще не предназначен для замены существующих Nagios/Cacti/Zabbix системы мониторинга, а в дополнение к нему с интуитивным представлением исторических и текущих показателей статистики, настройки визуализации и syslog захвата.
Бесплатно.

Читати далі

Балансування навантаження з допомогою Nginx

Переклад статті Use Nginx for Proxy Services and Software Load Balancing

Серед додаткових особливостей nginx є можливість використання його як проксі (front end proxy) для передачі запитів на інші веб-сервери, Nginx також може виступати в якості Front end інтерфейсу для кластеру з серверів і навіть для балансування навантаження (load balancer).

Розглянемо наступні витримки конфігурації, які описують кластер appcluster:

Уривок файлу : nginx.conf

http {
  # [...]

  upstream appcluster {
     server lollipop.ducklington.net:8801;
     server lollipop.ducklington.net:8802;
     server lollipop.ducklington.net:8803;
     server lollipop.ducklington.net:8804;
     server simons.ducklington.net:8801;
     server simons.ducklington.net:8802;
     server simons.ducklington.net:8803;
     server simons.ducklington.net:8804;
     }

  # [...]

  server {
    listen 21.43.56.87:80;
    server_name ducklington.org www.ducklington.org;

    location / {
       proxy_pass  http://appcluster;
       }
    }

    # [...]
  }

У цьому прикладі ми описали просте балансування по принципу round-robin за допомогою директиви upstream.

Всередині цього блоку ми описали вісім серверів, кожен з яких працює на різних хостах і портах.
Конфігурація блоку upstream повинна бути разташована на початку блоку http конфігураційного файлу nginx.conf.

Сервери, що працюють на портах з 8801 по 8804 на хостах lollipop.ducklington.net і simons.ducklington.net отримають одинакову кількість запитів направлених в блок appcluster.

В блоці server Nginx налаштований для прослуховування запитів на певну IP-адресу і порт (наприклад, 21.43.56.87 і 80), і відповідати на запити до доменів ducklington.org і www.ducklington.org.

Усі запити про виділення ресурсів у цьому домені (наприклад, /) будуть передані у http://appcluster, який описаний в директиві upstream.

Читати далі

Работа с Postgresql: настройка, масштабирование

Книга Работа с Postgresql: настройка, масштабирование является справочным пособием по настройке и масштабированию Postgresql. В книге иследуются вопросы по настройки производительности Postgresql, репликации и кластеризации. Изобилие реальных примеров позволит как начинающим, так и опытным разработчикам быстро разобратся с особенностями масштабирования Postgresql для своих приложений. http://postgresql.leopard.in.ua/ ссылка на книгу если с сайта не грузится postgresql