четверг, 3 марта 2016 г.

Приоретизация процессов в *nix

Команда nice

Когда на компьютере достаточно процессорного времени на исполнение всех процессов, нет необходимости в выставлении приоритетов. Но когда необходимо параллельно запустить несколько процессов, каждый из которых использует всё доступное процессорное время, может очень пригодиться утилита nice.

Команда nice запускает программу с изменённым приоритетом для планировщика задач.

Наибольший приоритет (и наименьшее значение nice) — −20. 19, либо 20 — наименьший приоритет, но это, с другой стороны, самые вежливые процессы.

Чтобы посмотреть идентификатор и значение nice нужного процесса в системе, можно воспользоваться командой ps axl.

Пример использования команды nice — запуск ресурсоёмкой задачи в фоновом режиме, так, чтобы она выполнялась, но освобождала часть процессорного времени для других процессов, как только оно становятся им нужно.

Чтобы запустить команду с определённым приоритетом, слева нужно добавить «nice -n значение_nice», либо «nice --adjustment значение_nice» (adjustment — настройка, регулировка).

nice -n значение_nice команда.

Если нужно изменить приоритет уже запущенного процесса, можно воспользоваться командой renice.

renice -n значение_nice id_процесса

Команда renice выводит старый и новый приоритет процесса.

Теперь, зная эти команды, можно управлять процессами так, чтобы определённые задачи выполнялись быстрее в случае, когда сразу много процессов используют всё доступное процессорное время.

По материалам https://habrahabr.ru/post/106381/

Ускоряем MySQL

Эта заметка поможет при работе с кривыми скриптами криво работающими с БД MySQL 
( был образец модуля для джумлы который с базой весом в 30 Мб умудрялся наглухо уложить linux-сервер по IOPS дисковой подсистемы)

Ускоряем MySQL с помощью tmpfs
Tmpfs — временное файловое хранилище во многих Unix подобных операционных системах. Tmpfs пердназначена для монтирования файловой системы, а сама размещается в оперативной памяти вместо физического диска. Использование tmpfs в вашей системе можно увидеть с помощью вывода команды df -h
/dev/sda 30G 925M 28G 4%
tmpfs     502M 0 502M 0% /lib/init/rw
udev      497M 60K 497M 1% /dev
tmpfs     502M 4,0K 502M 1% /dev/shm
В tmpfs могут размещатся любые директории, хранящие временные данные и которые можно удалить при перезагрузке системы: /var/lock, /var/run, /tmp и др. Tmpfs используют для уменьшения количества дисковых операций io c целью повышения производительности системы или экономии ресурса твердотельных накопителей.
В процессе работы базы данных MySQL создаются временные таблицы. Место расположения временных таблиц определяется переменной tmpdir в файле /etc/mysql/my.cnf. Если для таких временных таблиц (файлов) не хватает памяти, то начинается активный i/o, создающий нагрузку на дисковую подсистему сервера. А смонтировав папку временных файлов mysql на tmpfs, мы решим проблему проблему производительности базы данных и системы в целом.
На достаточно новых ядрах к директории /dev/shm по умолчанию подмонтирована файловая система tmpfs размером 0,5 объёма физической памяти, которую можно использовать для своих нужд. Если на вашем сервере дело с tmpfs обстоит именно так, нам остается внести правки файл конфигурации MySQL:
$ nano /etc/mysql/my.cnf
Закомментировав предыдущее значение параметра tmpdir, добавляем:
tmpdir = /dev/shm
Перезапускаем базу данных mysql:
$ service mysql restart
Проверяем полученный результат:
$ mysql
mysql> SHOW VARIABLES LIKE 'tmpdir';
+---------------+----------+
| Variable_name | Value    |
+---------------+----------+
| tmpdir        | /dev/shm |
+---------------+----------+
1 row in set (0.00 sec)


Источник: http://serveradministrator.ru/mysql/mysql-to-tmpfs/

понедельник, 29 июня 2015 г.

Рекурсивная смена владельца и группы в *nix

Ключ -R в Linux означает рекурсивную обработку папок и подпапок.
Рекурсивная смена владельца и группы в *nix:

chown -R user:group /home/user/dir/

Если вам нужно рекурсивно поменять права только для папок или только для файлов, то пользуемся следующими командами:

Для папок:
find . -type d -exec chmod 755 {} \;
Для файлов:
find . -type f -exec chmod 644 {} \;

воскресенье, 4 августа 2013 г.

Создание ISO библиотеки в XCP 1.6

How to create a local ISO Storage Repository on Citrix XenServer

In order to create virtual machines based on ISO disks, you need a local ISO Storage Repository on Citrix XenServer. There are several options of ISO Storage repositories in Xen Server based on the location of the repository. You should check the location based on the available space and your space requirements. We recommend to pass:
df -h
before choosing the location. Please be aware that sometimes LVM and the Local Storage do not appear in df -h as they do not have a fstab entry. However, you can see it inside XenServer.
Inside the main partition
(this is least disearable option as the available space is very small, however it is the easiest to be done)
1. Create the directory “/var/opt/xen/iso_library/”
mkdir -p /var/opt/xen/iso_library
2. Create the ISO storage repository with the following command
xe sr-create name-label ="ISO Repository" type=iso device-config:location=/var/opt/xen/iso_library/ device-config:legacy_mode=true content-type=iso
3. Transfer your ISO image in /var/opt/xen/iso_library/ with wget or FTP.
4. Login in Citrix XenCenter and you will now see the new repository. Press Rescan to refresh the images inside.
Inside the Local Storage
If you want to create an local ISO repository inside the Local Storage on Citrix you can use:
xe sr-create name-label=ISO type=iso device-config:location=LOCATION device-config:legacy_mode=true content-type=iso
where LOCATION can be your Local Storage. You can find it out with:
df -h
Inside the LVM
1. Check the free space inside LVM
pvscan
It will output something like this:
PV /dev/sda3 VG VG_XenStorage-10307bc6-dc3b-6b46-b01a-b9efa6f39ae6 lvm2 [1.99 TB / 1.94 TB free]
Total: 1 [1.99 TB] / in use: 1 [1.99 TB] / in no VG: 0 [0 ]

2. Create LVM Space for ISO Repository
lvcreate -L 50G -n ISO VG_XenStorage-10307bc6-dc3b-6b46-b01a-b9efa6f39ae6
(replace the VVG… with your date from pvscan)
and make it active
vgchange -a y
3. Format the new space:
mkfs.ext3 /dev/VG_XenStorage-10307bc6-dc3b-6b46-b01a-b9efa6f39ae6/ISO
4. Mount the ISO Repository
mkdir /mnt/iso_import
and edit /etc/rc.local to put auto mount on boot (do not add it into /etc/fstab!). Add the following text at the end of the file.
[...]
# Mount ISO
vgchange -a y
mount /dev/VG_XenStorage-10307bc6-dc3b-6b46-b01a-b9efa6f39ae6/ISO /mnt/iso_import/

5. Create the following softlink
rmdir /var/opt/xen/iso_import
ln -s /mnt/iso_import /var/opt/xen

6. Create the the repository
xe sr-create name-label=ISO type=iso device-config:location=/mnt/iso_import/ device-config:legacy_mode=true content-type=iso
7. Reboot to be sure that all works fine
8. Transfer your ISO image in /var/opt/xen/iso_library/ with wget or FTP.
9. Login in Citrix XenCenter and you will now see the new repository. Press Rescan to refresh the images inside.

оригинал: http://kb.softescu.ro/server-administration/linux-server-administration/how-to-create-a-local-iso-storage-repository-on-citrix-xenserver/

пятница, 16 ноября 2012 г.

Вредные советы начинающему бизнесмену

Начинаете свой бизнес с нуля? Не знаете с чего начать воплощение планов? Начать с рекламы, закупить необходимую технику или же снять офис – мы ответим на эти вопросы, подскажем, с чего начинается бизнес и с чего начинали крупные компании мирового масштаба. Если у вас готов бизнес план, разработаны действия и имеется для осуществления задуманного определенный бюджет- тогда пора действовать, аренда офиса - это первое, с чего нужно начать

среда, 8 февраля 2012 г.

mysql *BSD

Можно делать посредством многочисленных php'шных средств (phpmyadmin, dumper(Sypex), etc) , но там будем упираться в маскимальный размер пост данных и максимальное время выполнения скриптов, а некоторые дампы весят больше чем 1Гб, так что эта метода будет черезвычайно мелительная и довольно глючная (в сайпексе при импорте больших баз вообще не отображается ход импорта , хотя с сайта можно узнать, что поддерживаются довольно большие дампы). Итак приступим.=)

1. Импорт .

В принципе можно воспользоваться командой :

mysql -uroot -proot_pass db_name < db_name.sql

но она содержит подводные камни в виде того, что если например база уже создана, то импорт может оказаться неудачным.
Самым лучшим выходом из ситуации будет ипморт напрямую через cli MySQL :

Заходим в MySQL - mysql -uroot -proot_pass
далее делаем - use db_name;
далее импортируем командой - source db_name.sql;

2. Экспорт.

Делаем экспорт посредством удобного mysqldump :

mysqldump -uroot -proot_pass db_name > db_name.sql

четверг, 26 мая 2011 г.

напоминалка squid

acl OneSiteForNotCache urlpath www.yandex.ru
cache deny OneSiteForNotCache

visible_hostname server
http_port 3128 transparent

#Запрет на сбор почты с через web-interface:
acl SiteMailRu dstdomain .
acl methodpost method POST
http_access deny localnet methodpost SiteMailRu

acl localnet src 192.168.0.0/24
http_access allow localnet
http_access deny all

#Не кешировать FTP запросы:
acl FTP proto FTP
always_direct allow FTP

архиполезный сайт для рускоязычных пользователей squid
http://break-people.ru/cmsmade/index.php?page=translate