Вы читаете журнал [info]100grammist

Предыдущие 10

Тест каналов сети

Если нужно оценить скорость передачи данных между двумя компьютерами, то будет полезна консольная утилита nuttcp.
Её легко установить в Debian:
apt-get install nuttcp

Также она есть для Windows:
http://lcp.nrl.navy.mil/nuttcp/nuttcp-5.3.1/binaries/nuttcp-5.3.1.win32.zip

Использовать следующим образом.
На сервере запускаем так:
nuttcp -S
Процесс nuttcp демонизируется (отсоединяется от консоли).

Остановить можно послав сигнал процессу.
killall nuttcp

На стороне клиента действуем так:
Оценка скорости отправки на сервер:
nuttcp -t hostname
Оценка скорости приема с сервера:
nuttcp -r -F hostname

Рекомендую обратить внимание, что используется флаг -F, который меняет поведение приема с сервера. Обачно (без флага -F) сервер сам устанавливает соединение с клиентом и предает данные для теста. Но в большинстве случаев клиент находится за NAT, а значит такой подход не практичен. Благодаря флагу -F клиент сам связывается с сервером и принимает данные.

Есть еще несколько важных опций: кол-во потоков (например -N3 - 3 потока), длительность теста (например -T30 - 30 сек).
Метки:

Как mysql может съесть всю оперативную память

Оказывается mysql легко уронить. Для этого не обязательно использовать малоизвестные уязвимости. Достаточно послать "правильный" SQL запрос. Главные особенности - размер и ветвистость.
Например что-то вроде:
SELECT DISTINCT B.ID as ID
FROM b_sale_basket B
WHERE
((((B.FUSER_ID = 1 ))))
AND ((
(B.PRODUCT_ID IS NULL OR NOT (B.PRODUCT_ID = 1)) AND
(B.PRODUCT_ID IS NULL OR NOT (B.PRODUCT_ID = 2)) AND
...
(B.PRODUCT_ID IS NULL OR NOT (B.PRODUCT_ID = 24999)) AND
(B.PRODUCT_ID IS NULL OR NOT (B.PRODUCT_ID = 25000)) AND
))
AND ((((B.LID = 's1'))))
AND ((((B.ORDER_ID IS NULL) OR (B.ORDER_ID = 0))))


В итоге получается размер около 1,5 Мб.
Как получился такой запрос не важно (на совести кодеров).
Наша задача защитить mysql от этого безобразия.
Сделать это просто - нужно уменьшить допустимый размер запроса хотя бы до 512 Кб. А лучше до 256 Кб.

В настройках my.cnf пропишем:
[mysqld]
max_allowed_packet = 512K

[mysqldump]
net_buffer_length = 512K

И перезапустим.

Кстати, сейчас арендуем сервер на scalaxy. Обычно хватает 2-3 Гб оперативки. Но когда возник этот жуткий запрос не хватало даже 16 Гб. Система постоянно убивала mysql так как возникала нехватка памяти (mysql съедал 15 Гб):
mysqld invoked oom-killer
...
Killed process 27833 (mysqld)

Оказывается есть еще много других способов навредить работе mysql.

Но там нет моего случая - пришлось разбираться самому.
Мне помог журнал mysql:
general_log_file = /var/log/mysql/mysql.log

Будьте осторожны - не включайте его постоянно. Только во время отладки:
SET @@global.general_log = 'ON';
Метки: , ,

Обработчики событий (event handlers) в Plesk

Задача
При создании домена (или поддомена) нужно автоматизировать процесс настройки виртуального хоста Apache. Сложность в том, что это можно сделать только через специальные файлы-хуки vhost.conf и vhost_ssl.conf (для SSL), которые нужно создать в папке /var/www/vhosts/*/conf (для поддомена /var/www/vhosts/*/subdomains/*/conf).
Кроме этого, после их создания нужно выполнить "/usr/local/psa/admin/sbin/websrvmng --reconfigure-all".

Решение )

Немного виндузни

Чтобы разрешить пинги в W7 для Общественной сети нужно настроить брандмауэр.
Проще всего Пуск - Все программы - Стандартные - Выполнить, набрать wf.msc и запустить.
Открыть ветку "Правила для входящих подключений".
Найти правило "Общий доступ к файлам и принтерам (эхо-запрос - входящий трафик ICMPv4)".
Включить это правило.

Если нет возможности сменить Общий профиль сети на Домашний, нужно в настройках TCP-IP указать IP шлюза. Если шлюза нет - можно указать IP любого рабочего компьютера в этой сети.

Alt-Tab в NetBeans

В Windows глючит Alt-Tab в NetBeans. Лечится заменой look and feel.

Рекомендую попробовать LAF от JGoodies. Полезен тем, что умеет масштабировать шрифты согласно настройкам Windows. Например, у меня установлен масштаб 125%. MetalLookAndFeel не учитывает это и работать на большом мониторе не комфортно.

Чтобы подключить нужно скачать JGoodies Looks (например, 2.4.1), распаковать в любое место   (я выбрал c:\Program Files\Java). А подключать так:
netbeans_default_options="-cp:p \"c:\Program Files\Java\jgoodies-looks-2.4.1\jgoodies-looks-2.4.1.jar;C:\Program Files\Java\jgoodies-looks-2.4.1\lib\jgoodies-common-1.2.0.jar\" --laf com.jgoodies.looks.plastic.Plastic3DLookAndFeel"
(Строка длинная - копировать лучше всего внутри статьи)

Проверьте правильно ли указан путь к jgoodies-looks-x.x.x.jar и jgoodies-common-x.x.x.jar !

Как поставить Winamp (AIMP и KMPlayer) на паузу во время звонка Skype

С некоторых пор Skype стал прятать опцию "Автоматически ставить Winamp на паузу во время звонков" для новых пользователей. Но она есть. Оказывается есть способ вернуть данную функцию.

Выключаем Skype. Открываем в блокноте файл %APPDATA%\Skype\_ваш_логин_\config.xml, ищем строку "<General>" и с новой строки добавляем "<MuteExternal>1</MuteExternal>". Сохраняем и запускаем Skype.
Открываем Настройки - Звонки - Настройки звонка - Открыть дополнительные настройки. Теперь мы увидим, что появилась опция "Автоматически ставить Winamp на паузу во время звонков".

Теперь, когда к нам звонят, Winamp, AIMP и KMPlayer сами прекратят проигрывание. Ура!

Готовим рабочую среду

Хотя сейчас я использую APC, оставлю на память как корректно собирать eAccelerator.

Еще одна полезная статья про установку mod_ruid2 на DirectAdmin.
Есть только одно замечание по статье: если у Вас Apache 2.*, то для сборки модуля нужно использовать apxs2 (apxs - для Apache 1.3).
Метки: ,

Обновляем Lenny до Squeeze

0. Во-первых - клонируем сервер. Тестировать на рабочем сервере глупо. В крайнем случае сперва пробуем обновить идентичный по конфигурации сервер.
1. Если нужно обновить VPS сервер (openvz, xen), то будьте крайне осторожны. Неправильное обновление grub или ядра может сломать систему. KVM не дорог, но зачем терять время.
2. Если используете панель управления вроде Plesk, DirectAdmin или cPanel, то сперва узнайте как у них обстоят дела с новыми версиями apache, mysql, php.
3. На обычном железном сервере или в виртуалке (vmware, vbox) обновиться довольно просто: http://library.linode.com/troubleshooting/upgrade-to-debian-6-squeeze
В процессе обновления столкнулся только с одной проблемой - не обновлялся mysql с 5.0 до 5.1. Оказалось новая версия не понимает синтаксис skip-bdb. Эту опцию нужно убрать из /etc/mysql/my.cnf.
Пересказывать все команды не буду - подробно процесс обновления описан в первоисточнике: http://www.debian.org/releases/squeeze/i386/release-notes/ch-upgrading.ru.html
Метки:

The Bat! и сертификаты

При настройке почтового сервера возникла проблема с сертификатами.
Тестовый сертификат от RapidSSL работал без проблем со всеми почтовыми клиентами (это исключение, т.к. остальные триальные PositiveSSL, GlobalSign, EssentialSSL не хотели работать с The Bat!).
Когда купили сертификат на год и подключили к dovecot и exim, то возникли проблемы в The Bat!.

Руководство к действию... )

Кстати, есть способ проверить корректность настройки сертификатов для apache, exim (465 порт) и dovecot (995, 993 порты).

Прикладная магия с элементами археологии

Уже пол года родственники просили восстановить очень ценный домашний фильм.

Проблема в том, что диск вообще нигде не определялся. Перепробовал 5 разных приводов. Linux с dd тоже не помог. Как только диск попадает в привод, последний зацикливался при попытке прочитать TOC.

Я уже задумался обращаться в киевский Эпос (все-таки солидная фирма, и не такое восстанавливали), но цена восстановления от 50$ заставила подумать. В гугле обнаружилась отличная статья Криса Касперски. Раздел "Диск не опознается приводом". Оказывается не читающийся TOC не такая уж проблема. Есть один старый фокус.

Кручу-верчу, прочитать хочу... )

Предыдущие 10

Январь 2012

Вс Пн Вт Ср Чт Пт Сб
1234567
891011121314
15161718192021
22232425262728
293031    

Трансляция

RSS Atom
Разработано LiveJournal.com