Mysql – диск в памяти для временных таблиц.

Для нескольких типов SQL запросов MYSQL создает промежуточные таблицы. Таблицы могут быть созданы как в памяти, так на жестком диске. Естественно при большой интенсивности запросов операции записи/чтения временных таблиц на жестком диске могут стать узким местом всей базы данных. Как проверить, есть ли проблемы?
› Прочитать

Понедельник, Сентябрь 21st, 2009 Советы 1 комментарий

Mysql – быстрый заход в консоль.

Многие люди используют для управления базами или phpmyadmin или другие GUI программы. Я же предпочитаю консольную программу mysql. У того же phpmyadmin есть хорошее качество любого web приложения — оно может запоминать логин и пароль от базы, что очень удобно. Но и для консольной программы есть возможность организовать «быстрый» вход. При запуск mysql (и другие консольные программы из набора поставки mysql) просматривает домашний каталог пользователя в поисках файла .my.cnf, в котором могут быть какие-то настройки переменных сессии. В нем же можно задать и логин/пароль. Делается это в разделе [client]:

[client]
user=root
password=ifdJhfhb4n

Теперь все консольные программы будут автоматически подставлять логин и пароль из этого файла. Конечно же такая настройка понижает безопасность сервера mysql, потому необходимо позаботиться об безопасности файла. В данном случае используется учетная запись root и для сервера mysql и сервера как такового:

# chown -R root /root
# chmod -R 700 /root
# ls -la /root

-rwx—— 1 root root 27 May 1 23:15 .my.cnf

Tags:

Понедельник, Сентябрь 21st, 2009 Советы Нет комментариев

Mysql — настройка после установки.

Как правило, сразу после установки mysql… сразу начинают использовать. Но настройки «из коробки» подходят для небольших проектов с небольшой интенсивностью относительно простых запросов. Отсюда низкая производительность базы. А ведь достаточно поменять всего несколько настроек, чтобы ситуация изменилась кардинально. Сразу оговорюсь, речь будет идти в первую очередь про MyISAM, так как именно этот тип таблицы до сих пор используется наиболее часто (отчасти тут виноваты и настройки по умолчанию — именно этот движок таблиц установлен изначально для создания таблиц без указания типа).
› Прочитать

Tags:

Понедельник, Сентябрь 21st, 2009 Советы 2 комментариев

Поиск файлов в linux: find

Задача поиска определенных файлов или каталогов достаточно часто встречается в работе Unix-администратора. Начинающие администраторы решают ее странными и малоэффективными способами, например я в первые дни своего знакомства с linux использовал ls с ключом рекурсивного просмотра каталогов и потом натравливал grep на вывод ls. Согласитесь, выглядит достаточно дико.
› Прочитать

Tags:

Понедельник, Сентябрь 21st, 2009 Статьи Нет комментариев

Использование аутентификации по публичному ключу в SSH.

Вы когда-нибудь смотрели логи попыток аутентификации по ssh? Каждый день сотни ботов рыскают по интернету, пытаясь подобрать пароль и от вашего сервера. Вам не страшно? У вас пароль из двенадцати символов в разном регистре из букв, цифр и специальных символов? Думаю нет, и в один прекрасный день может оказаться, что ваш сервер уже не только ваш.
Есть простой способ оставить ботов с носом, достаточно использовать аутентификацию по публичному ключу.
› Прочитать

Tags: ,

Понедельник, Сентябрь 21st, 2009 Советы Нет комментариев

RAMFS и TMPFS в Linux

Жесткие диски — одна из самых медленных подсистем компьютера, иногда его пропускной способности очень не хватает. Выход — использовать диски в памяти. Для этого выделяется область памяти, в которую можно записывать файлы или считывать из нее файлы, как с обычного раздела жесткого диска. Но так операции записи/чтения происходят в памяти, то такой «дисковый раздел» по настоящему быстр.
В Linux есть две реализации дисков в память: tmpfs и ramfs. По сути они делают одно и тоже, но есть различия в их работе, которые нужно знать и учитывать при выборе.
Как создать диск в памяти? Сперва нужно создать каталоги для монтирования, потом создать диски в памяти
# mkdir /mnt/tmpfs /mnt/ramfs
# mount -t tmpfs -o size=100m tmpfs /mnt/tmpfs
# mount -t ramfs -o size=100m ramfs /mnt/ramfs
Если запустить mount, то мы увидим среди прочего
# mount

tmpfs on /mnt/tmpfs type tmpfs (rw,size=100m)
ramfs on /mnt/ramfs type ramfs (rw,size=100m)
Все очень похоже, но в чем тогда разница? При записи небольших файлов вы никогда ее и не заметите, но при больших объемах данных разница принципиальна.
Ramfs увеличивается динамически. Т.е. Если вы выделили 20 мегабайт под раздел tmpfs и попробуете записать 21 мегабайт, то у вас ничего не получится, будет выдано сообщение о нехватке места, а ramfs спокойно затребует нужное место из памяти. Причем, если у вас 4 Гб памяти, то при заполнении раздела ramfs в 4Гб скорее всего весь сервер зависнет.
Еще одна важная особенность, tmpfs использует swap, т.е. если физической памяти сервера не хватает, то tmpfs потеряет все свои плюсы. Ramfs напротив использует исключительно физическую память.

Tags: ,

Понедельник, Сентябрь 21st, 2009 Советы Нет комментариев

PHP PCRE Functions kills apache childprocess

Apache + mod_php + pcre functions = apache child pid exit signal Illegal instruction

Разработчики попросили разобраться с проблемой. Рри использовании preg_replace при определенном размере строковой переменной, над которой совершались всякие pcre преобразования, apache падал с сообщением  “apache child pid 3232 exit signal Illegal instruction”.

Паттерн, которым обрабатывали строку и правда был страшен, и первым делом я попросил разработчиков его переписать, но оказалось, что они его выдрали из Zend Framework… Да и вот так падать apache не должен в любом случае.

Нашел на php.net bug, очень похожий на мой случай, и еще несколько сообщений. Но решения там не было, кроме слов, что скорее всего дело в размере стека, который выделяется процессу apache.

Первым желанием было подправить stacksize в FreeBSD, но оказалось, что он и так 64MB… Так что осталось только одно – пинать библиотеку pcre. В man pcrestack есть упоминание, что pcre можно собрать с заменой использования стека на кучу. В man pcrebuild есть нужная опция: –disable-stack-for-recursion.

Дальше пересобираем библиотеку pcre и apache, за одно еще расширение php для pcre функций…

Четверг, Август 27th, 2009 Советы Нет комментариев

Как включить ssh на allied telesis AT8000GS

Оказалось, все очень просто

console# configure
console(config)# crypto key generate rsa
console(config)# ip ssh server

После чего нужно запретить telnet как класс:

console(config)# management access-list accesstoconsole
console(config)# permit vlan 1 service ssh
console(config)# deny vlan 1 service telnet
console(config)# end
console(config)# management access-class accesstoconsole
console(config)# end

Tags: ,

Понедельник, Август 10th, 2009 Советы Нет комментариев

Поиск P2P трафика средствами iptables на Gentoo Linux

Почти любому админу офиса приходилось сталкиваться с ситуации, когда “умный” пользователь решил покачать любимые фильмы, музыку и программы через P2P сети. Как правильно такой “умный” пользователь не думает о таких вещах, как пропускная способность канала, цена трафика и т.п. А администратору сети приходится потом отвечать на неприятные вопросы начальника.
› Прочитать

Tags:

Вторник, Июнь 2nd, 2009 Советы Нет комментариев

Приоритет в очередях звонков Asterisk

Asterisk обрабатывает звонки в очередях по принципу FIFO, т.е. звонки будут обрабатываться один за одним по мере их поступления в очередь. Но если вы хотите каким-то клиентам предоставить приоритетное обслуживание? Для таких целей приложение Queue имеет опцию приоритета при постановке звонка в очередь.

› Прочитать

Tags:

Воскресенье, Май 24th, 2009 Советы Нет комментариев
Tinkerbell Personal Checks |Garden Planters | Jewellery For Women | Best Dog Foods | Budget Wedding Gowns | Shop For Jewellery | Vintage Jewellery| Diamante Jewellery | Car Finance Credit | DoorStep Loans