we are sorry, we are open

1.8.2010

Пара замеров работы с таблицами MySQL

СисАдминство — Тэги: — Админ @ 11:57:21.

Я не такой уж и большой специалист по MySQL, так что приведённые далее наблюдения прошу не считать показательными – это просто мои эксперименты на моём сервере и с моей БД )

Озаботился проблемой разрастания таблиц в БД. Надо их дефрагментировать. Таблицы в InnoDB. Провёл пару замеров с одной из самых больших таблицей под рукой – log:
- больше 3 миллионов записей;
- размер файла log.ibd – 3,5ГБ;

Для начала мне нужно было заменить значение одного из полей таблицы:
mysql> update log set tip='no data';
До замены в этом поле была довольно длинная строка с информацией user-agent, полученной от браузеров, посетителей, т.е. новая строка в несколько раз короче старой.
Результаты:
Query OK, 3033596 rows affected (57 min 56.91 sec)
Rows matched: 3239214 Changed: 3033596 Warnings: 0

Размер файла заметно увеличился – 4ГБ. Очевидно надо дефрагментировать таблицу (это был плавный переход к следующему тесту)))

Второй тест – оптимизация таблицы:
mysql> optimize table log;
Результаты:
mydb.log | optimize | note | Table does not support optimize, doing recreate + analyze instead
mydb.log | optimize | status | OK
2 rows in set (38 min 47.55 sec)

Размер файла существенно уменьшился – 2,7ГБ, а было ведь 4ГБ!
Напрашивается вывод о том, что оптимизацию надо проводить почаще, но тут надо учитывать, что во время оптимизации таблица будет заблокирована и недоступна для ваших скриптов.

Для полноты картины конечно не обойтись без информации о сервере – старенькая рабочая станция:
- софт – FreeBSD 7.2, apache 2, php, MySQL;
- Intel Pentium4 3.40GHz;
- RAM 3GB;
- система и БД лежат на двух разных винтах;
- сервер, фактически, выделенный;

Следующим будет оптимизация боевого, сильнонагруженного сервера, с кучей больших таблиц, общим размеров гигов под 10. Результаты сообщу дополнительно. Вот только надо выбрать время и заявить ТО на пару часов )

Дополнение от 03-08-2010

Добавление индекса к база размером более 4ГБ и с более 4 с половиной мульёна строк заняло 18 минут полного отказа СУБД от обслуживания:
mysql> alter table log add index (id_site);
Query OK, 4784444 rows affected (18 min 49.74 sec)
Records: 4784444 Duplicates: 0 Warnings: 0

27.10.2009

Постустановка Zend Optimizer

СисАдминство — Тэги: — Админ @ 20:47:52.

Каждый раз при установке Zend Optimizer почему-то возникает проблема с копированием нужных файлов инсталлятором из дистрибутива Zend Optimizer. Может я что-то не так делаю при установке, которая, к слову, заключается всего лишь в запуске инсталлятора и ответах на пару простых вопросов.
Вероятно проблема возникает из-за того, что я, чаще всего, ставлю PHP не как модуль Апача, а как CGI и, кроме того, зачастую ставлю несколько версий и вариантов PHP для нескольких версий MySQL )
(продолжение…)

13.5.2009

Простой пример с flowtools

СисАдминство — Тэги: — Админ @ 13:22:32.

Понадобилось собирать и обрабатывать netflow-статистику с циски на машине с FreeBSD. Задачи довольно простые – иметь возможность анализа сетевого трафика внутри корпоративной сети, например, с целью выявления адресов, генерирующих аномальный трафик, а также выявление других проблем, влияющих на пропускную способность каналов.
(продолжение…)

7.4.2009

Монтирование и работа с устройствами от имени пользователя

СисАдминство — Тэги: — Zed @ 13:54:18.

Как-то вдруг надоело монтировать флешку и работать с файлами на ней от имени рута.
Я использую sudo. Кроме того, я вхожу в группу wheel, на случай если надо сделать su.

Поменял переменную ядра:
~> sudo sysctl vfs.usermount=1

Прописал то же самое в /etc/sysctl.conf:
vfs.usermount=1

В файле /etc/rc.conf дописал:
devfs_system_ruleset="localrules"

Создал файл /etc/devfs.rules:
[localrules=10]
add path 'da*' mode 0660 group wheel

Таким образом поменял для всех устройств, начинающихся с «da», группу на wheel и дал права на чтение и запись для владельца и группы. По-умолчанию указана группа operator, в которую я не вхожу.

Посмотрел какие права на устройстве в данный момент:
~> ls -l /dev/da0*
crw-r----- 1 root operator 0, 138 Mar 31 16:15 /dev/da0
crw-r----- 1 root operator 0, 139 Mar 31 16:15 /dev/da0s1

Переконфигурировал устройства:
~> sudo /etc/rc.d/devfs restart

Убедился, что права и группа изменились в нужную сторону:
~> ls -l /dev/da0*
crw-rw---- 1 root wheel 0, 138 Mar 31 16:15 /dev/da0
crw-rw---- 1 root wheel 0, 139 Mar 31 16:15 /dev/da0s1

Теперь надо назначить себя владельцем точки монтирования:
~> sudo chown malik:wheel /mnt/flash
Ну или, если угодно, создать свою точку монтирования:
~> mkdir ~/flash

Кстати, для монтирования CD-ROM от имени пользователя достаточно чтобы точка монтирования принадлежала этому самому пользователю, т.к. писать на CD-ROM стандартным средствами системы мы не собираемся )

И, наконец, монтирую флешку:
~> mount_msdosfs /dev/da0s1 /mnt/flash

Всё нормально – флешка подмонтирована и можно нормально работать с файлам и папками от имени пользователя, не прибегаю к правам рута.

Замечание:
Монтирование флешки с указание локальной кодировки от имени обычного пользователя возможно только после хотя бы одного монтирования из-под суперпользователя:
~> mount_msdosfs -L ru_RU.KOI8-R /dev/da0s1 /mnt/flash
mount_msdosfs: cannot find or load "msdosfs_iconv" kernel module
mount_msdosfs: msdosfs_iconv: Operation not permitted
~> sudo mount_msdosfs -L ru_RU.KOI8-R /dev/da0s1 /mnt/flash
Password:
~> sudo umount /mnt/flash
~> mount_msdosfs -L ru_RU.KOI8-R /dev/da0s1 /mnt/flash
~>

20.6.2008

Падения Squid-а под Линуксом

СисАдминство — Тэги: , — Zed @ 17:41:16.

Постоянно падал Squid на сервер под Линуксом, в логах только вот это:
Jun 20 17:18:18 mail squid[6690]: Squid Parent: child process 6711 exited due to signal 25

Как оказалось проблема была из-за какой-то ошибки файловой системы, fsck помог:
fsck /dev/sda4

За столько лет работы под ФриБСД ни разу с такой хренью не сталкивался )

← Назад в прошлое

антивирус бильярд документы единоборства интернет.кг модем мото оружие разное сайты сети сноуборд сын татуировки юмор bluetooth cisco diesel dns freebsd linux mobile mysql pda php ripe shell sony ericsson sun wi-fi windows

Последние комментарии:

Powered by WordPress (36 queries. 0.357 seconds)