Архив за год: 2015

C: переменные argc и argv

23 января 2015
 

 Для работы с аргументами — в C используются две специальные переменные — argc и argv. argc — argument count, или «счётчик аргументов»; argv — argument vector, или «вектор аргументов». Использовать их очень просто.

C: чтение, добавление, изменение и удаление переменных окружения (getvar, setvar, unsetenv)

22 января 2015
 

 Для работы с переменными используются функции getvar() и setvar() из библиотеки stdlib.h. Как понятно из названий — функция getvar() используется для получения значения переменной, а setvar() — для добавления или изменения.

Postfix: пересылка локальной почты на внешний почтовый сервер (relay)

21 января 2015
 

 Письма для root по умолчанию доставляются через локальный Posfix-сервер (MTA — Mail Transport Agent). Проблема заключается в том, что для домена прописана неверная МХ-запись: # dig domain.com MX +short 10 puppy.domain.com. И доставка почты через него невозможна: Jan 14 16:19:07 zeus postfix/smtp[21287]: 37399CC: to=<[email protected]>, orig_to=<root>, relay=none, delay=1.4, delays=0.01/1.3/0.04/0, dsn=4.4.1, status=deferred (connect to puppy.domain.com[172.***.***.121]:25: Connection refused)

UNIX: rsync через proxy-сервер

20 января 2015
 

 При попытке получить содержимое удалённого каталога — rsync возвращает ошибку: # rsync rsync://mirror.besthosting.ua/CentOS:: rsync: change_dir «/root/mirror.besthosting.ua» failed: No such file or directory (2) rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1039) [sender=3.0.6] Первая мысль — проверить telnet-ом: # telnet rsync.belnet.be 873 Trying 193.190.67.98… telnet: connect to address 193.190.67.98: Connection… Читать далее »

CentOS: создание локального репозитория

17 января 2015
 

 В наличии имеется 8 серверов, и очень печальный канал в мир. Что бы уменьшить нагрузку, и ускорить процесс — можно создать отдельный репозиторий на одной машине, которая будет обновлять в нём пакеты, и потом раздавать обновления другим машинам в сети. Настройка выполняется на CentOS 6.6. Список зеркал (как HTTP, так и rsync) можно найти тут>>>.

MySQL/MariaDB: тюнинг производительности #4: query_cache_size

16 января 2015
 

 Среди прочих данных tuning-primer сообщает что: QUERY CACHE Query cache is supported but not enabled Perhaps you should set the query_cache_size query_cache — это область памяти, выделяемая MySQL при старте, в которой хранятся запросы и их результаты типа SELECT. При получении нового запроса SELECT — MySQL сначала проверяет нет ли такого же запроса в этом кеше и,… Читать далее »

MySQL/MariaDB: тюнинг производительности #3: key_buffer_size

15 января 2015
 

 Параметр key_buffer_size задаёт размер памяти, выделяемый под хранение индексных блоков для таблиц типа MyISAM, которые могут быть считаны из памяти, вместо того, что бы обращаться к диску для чтения. key_buffer_size — один из наиболее важных параметров в настройке производительности MySQL. Данный буфер является общим для всех пользовательских процессов. Что бы узнать, необходимо ли изменять текущее значение key_buffer_size  —… Читать далее »

MySQL/MariaDB: тюнинг производительности #2: innodb_buffer_pool_size

14 января 2015
 

 Продолжение серии MySQL/MariaDB: тюнинг производительности. Размер innodb_buffer_pool_size Один из самых спорных вопросов, это «Какое значение указывать в innodb_buffer_pool_size«. Хорошая статья на эту тему есть тут>>>. innodb_buffer_pool_size определяет размер памяти, называемой buffer pool, которая будет использоваться для хранения  данных и индексов таблиц с типом InnoDB.

MySQL/MariaDB: тюнинг производительности #1: thread_cache_size

13 января 2015
 

 Для начала — возьмём параметры, которые анализирует tuning-primer: LOW QUERIES long_query_time — время в секундах, после которого запрос будет считаться как «медленный», счётчик slow_queries увеличится на 1 и, если включен slow_query_log — то запрос будет записан в лог; WORKER THREADS threads_cached — переменная, количество потоков в кеше; thread_cache_size — количество потоков для повторного использования новым клиентом, которое будет… Читать далее »