FastNetMon

Friday 29 July 2011

Корректная очистка Nginx кэша

Достаточно лишь удалить файлы кэша:
find /var/lib/nginx/cache -type f -exec rm {} \;

Либо вот так:

for i in `find /var/lib/nginx/cache -type f`; do rm $i ; done

Источник: http://forum.nginx.org/read.php?2,2600,2602

Thursday 28 July 2011

Команда для анализа ключей в содержимом кэша nginx

for i in `find /var/lib/nginx/cache/ -type f`; do cat $i | grep -a KEY; done | sort | uniq

В ответ будет выдан спсиок ключей закэшированных страниц.

Tuesday 26 July 2011

Реальная пропускная способность гигабитного Ethernet

http://rickardnobel.se/archives/526

Новая схема лицензирования в vSphere 5 - на основании vRAM

http://rickardnobel.se/archives/620

Технические ограничения в бесплатной версии ESXi (vSphere Server) 5

Весьма и весьма неприятны, теперь для виртуальной машины потолок - 8 гб оперативной памяти:
How much vRAM does a VMware vSphere Hypervisor license provide?
A vSphere Hypervisor license includes a vRAM entitlement of 8GB.

Update от октября 2011 года (по той же ссылке, информация была изменена):
How much vRAM does a VMware vSphere Hypervisor license provide?
vSphere Hypervisor license provides a vRAM entitlement of 32GB per server, regardless of the number of physical processors. vSphere Hypervisor can be used on servers with maximum physical RAM capacity of 32GB.

Источник: http://www.vmware.com/products/vsphere-hypervisor/faq.html

Резонный вопрос - это для одной VM или для всех?

Согласно весьма популярному блогу по сабжеквой теме - это для всех виртуальных машин суммарно.

The concept of vRAM is defined in the licensing documents as the total amount of RAM given to all virtual machines

Источник: http://rickardnobel.se/archives/620

А вот еще немного информации от русскоязычного ресурса vmgu.ru.

егодня мы хотим рассказать о новой версии VMware ESXi 5, которая (не волнуйтесь) останется в бесплатном варианте (правильно бесплатную версию VMware ESXi 5 нужно называть VMware vSphere Hypervisor). Но поскольку правила лицензирования теперь изменились (об этом там же), то нужно знать о важном ограничении, которое повлияет на большинство пользователей малого и среднего бизнеса, а именно:

Бесплатный VMware ESXi 5 позволяет использовать сколько угодно виртуальных машин на сервере, который имеет сколько угодно процессоров и ядер, но совокупная сконфигурированная память всех включенных виртуальных машин не должна превышать 8 ГБ.

8 ГБ на весь сервер или на один физический процессор сервера? Пока точно неизвестно (я и чуваки склоняемся к первому варианту).

Что такое сконфигурированная память виртуальной машины? Это та, которую вы выставляете в настройках при ее создании.

Звучит как шутка, не правда ли - 8 ГБ памяти для всех запущенных виртуальных машин на сервере с бесплатным VMware ESXi 5 (а может 16 ГБ на двухпроцессорном сервере)? Но это так. Понятно дело, что для VMware ESXi 4.1 у вас на сервере для виртуальных машин, зачастую, выставлено гораздо больше памяти. Но этот тот способ, за счет которого VMware заставит вас купить хотя бы VMware vSphere 5 Essentials, где уже для каждого физического процессора сервера позволяется использовать 24 ГБ сконфигурированной памяти виртуальных машин (а значит, 48 ГБ на двухпроцессорный сервер).

Не удивляйтесь, это нормально в капиталистическом мире, где халява имеет тенденцию заканчиваться. Еще не верите? Тогда идем в VMware vSphere Hypervisor FAQ и читаем:



How much vRAM does a VMware vSphere Hypervisor license provide?

A vSphere Hypervisor license includes a vRAM entitlement of 8GB.



Хочется знать, то такое vRAM? Не проблема - vRAM is the entitlement of pooled virtual memory used across all active virtual machines on the system.

Ну и, конечно, вам хочется знать, что произойдет, если вы превысите планку Entitled vRAM. В этом случае, после лимита в 8 ГБ, новая виртуальная машина просто не включится (это предварительная информация). Все очень просто - hard limit.

А вот какие улучшения и новые возможности появятся в бесплатном VMware ESXi 5:

8 виртуальных процессоров для виртуальной машины (vCPU)
Улучшенный фаервол для VMware ESXi 5 (см. видео тут)
Поддержка устройств USB 3.0
GUI для редактирования количества виртуальных ядер на виртуальный процессор
USB-устройства, подключаемые к ВМ со стороны клиента
Поддержка больших томов VMFS и RDM (до 64 ГБ) в VMFS 5
Поддержка EFI BIOS и гостевых ОС Mac OS 10.6
Поддержка смарт-карт для доступа к консоли виртуальных машин
Поддержка 3D-графики и Windows Aero
Становится понятным, что теперь возможны два варианта: или под давлением общественности VMware повысит планку используемой памяти для бесплатного VMware ESXi 5, или пользователи начнут массовые миграции на Microsoft Hyper-V и Citrix XenServer, которые потихоньку набирают силу в сегменте малого и среднего бизнеса.

Оставайтесь с нами. Еще интереснее дальше будут вещи. Кстати, по vSphere 5 появился еще вот такой интересный документик.


Источник: http://www.vmgu.ru/news/vmware-esxi-5-free

Sunday 24 July 2011

Скачать steam для Mac OS X

http://store.steampowered.com/about/

Немного мыслей про виртуализацию - Linux KVM

Имхо, это не так. Сама по себе технология Xen с архитектурной точки зрения весьма проблемна и сложна в поддержке, об этом уже столько всего сказано, что могу лишь как ссылку привести список рассылки KVM, почему и зачем его начали писать.

Разумеется, текущее состояние KVM далеко от production-ready решений по виртуализации от конкурентов, но все движется к тому, что в районе RHEL 6.2-6.4 это будет очень и очень серьезная технология, которая потеснит текущих игроков рынка и сильно. Не буду углубляться в подробности, но одно лишь рвение Intel в ее (KVM) развитии стоит внимания да и не только Intel, кому интересно: http://www.openvirtualizationalliance.org/ в данном консорциуме состоят Intel, HP, IBM, Red Hat. Конечно, я не умаляю крутости Ситрикса и VmWare, но с такой могучей четверкой еще надо потягаться будет.

А вот несколько слов от одного из ведущих разработчиков KVM - Avi Kivity, http://kerneltrap.org/node/8088 в его интервью очень хорошо объясняется, в чем отличия KVM от других систем виртуализации.

Изначально опубликовано: http://forum.searchengines.ru/showthread.php?p=9229954

Saturday 23 July 2011

Две наиболее нужных команды при разработке на PHP, позволяющие сэкономить море времени

Вот эти две команды, заставят PHP выдавать все ошибки и предупреждения, которые у него имеются:
error_reporting(E_ALL^E_STRICT);
ini_set('display_errors','On');

Изменение итерируемой структуры из цикла foreach в PHP

Стандартно итерация производится так:
foreach ( $invitems as $item ) {

И если попробовать сделать что-то в стиле: $item['soma_key'] = 'some_val', то как ожидается это не сработает (в отличие от Perl, там такое поведение стандартно).

Чтобы такой механизм заработал, нужно немного скорректировать вид цикла:
foreach ( $invitems as &$item ) {

При этом, значения не будут копироваться, а будут передаваться по ссылке.

Куда жаловаться на недобросовестную рекламу от Google?

http://adwords.google.com/support/aw/bin/request.py?hl=ru&contact_type=feedback&origin=cluster&rd=1

iPhone приложение для планирования и учета расхода личных средств - Budget

http://moneynews.ru/AuthorsArticle/14185/

Очень простой профайлинг кода на PHP - PHP Quick Profiler

Наткнулся на сий замечательный софт - PHP Quick Profiler: http://particletree.com/features/php-quick-profiler/

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

Модуль для логгирования POST запросов в Apache

Вот описание: http://freshmeat.net/projects/mod_log_post

Вот официальный сайт загрузки (требуется регистрация): http://ftp.robert-scheck.de/linux/mod_log_post/

А вот зеркало без регистрации: http://fastvps.googlecode.com/files/mod_log_post-0.1.0.tar.gz
cd /usr/src
wget http://fastvps.googlecode.com/files/mod_log_post-0.1.0.tar.gz
tar -xf mod_log_post-0.1.0.tar.gz
cd mod_log_post-0.1.0
apt-get install -y apache2-dev
./configure
make install
После этого модуль скопируется в: /usr/lib/apache2/modules, а конфиг его добавится в /etc/apache2/conf.d/log_post.conf.

Открываем конфиг:
vim /etc/apache2/conf.d/log_post.conf

Там заменяем:
LoadModule log_post_module modules/mod_log_post.so
на
LoadModule log_post_module /usr/lib/apache2/modules/mod_log_post.so

И применяем изменения:
/etc/init.d/apache2 restart


tail -f /var/log/apache2/post_log




Friday 22 July 2011

lighttpd на Debian - деактивация поддержки IPv6

Как сторонний эффект включенной поддержки IPv6 - накрасивые логи в стиле:
::ffff:178.77.77.77 - [22/Jul/2011:21:12:08 +0200] "GET /media/js/tools.js HTTP/1.1" 200 8163 "http://www.domain.ru/dedicated/?gclid=xxxxx" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.122 Safari/534.30"


Открываем конфиг:
vim /etc/lighttpd/lighttpd.conf

Комментируем строки:
# include_shell "/usr/share/lighttpd/use-ipv6.pl"

Применяем настройки:
/etc/init.d/lighttpd restart

Wednesday 20 July 2011

Как прервать исполнение кода в Smarty 2?

Очень часто хочется прервать какой-либо процесс внутри Smarty шаблона, но если сделать return, то остановится рендеринг всего шаблона, а не только {php} блока. Единственное решение этой проблемы, которое я нашел - выносить такой код в отдельные файлы и подключать их через {include}. И тогда return в инклуд файле не будет прерывать рендеринг основного шаблона.

Saturday 9 July 2011

Обновление файлов и папок рекурсивно

Итак, есть задача - имеется некая файловая иерархия, где в корневой папке имеются и файлы и папки, в которых в свою очередь имеются вложенные файлы и папки. Кроме этого, имеется аналогичная файловая иерархия, но с только новыми файлами (файлы лежат как в корне, так и во вложенных папках). Задача - нужно из второй файловой иерархии скопировать все папки/файлы и в случае их наличия в первой - переписать их. Пусть первая иерархия - folder, вторая - folderpatch.


Первая попытка была в стиле:
mv folderpatch/* folder

Но в ответ меня встретило:

mv: cannot move `test1' to `../test1': Directory not empty
mv: cannot move `test2' to `../test2': Directory not empty
mv: cannot move `test3' to `../test3': Directory not empty

То есть, пропатчить файлы внутри папок не получится никак.

Но для cp преград нету!
cp -af folderpath/* folder

После этого измененные/новые файлы из папки folderpatch заменят файлы в корне папки folder, а также файлы во вложенных папках папки folder.

Источник: http://www.cafewebmaster.com/update-overwrite-files-and-directories-recursively-linux-mv-cp-commands

Thursday 7 July 2011

Распаковка rar архивов на Linux / Mac OS с сохранением иерархии папок

У unrar есть два варианта распаковки:
e Extract files to current directory
x Extract files with full path

Чтобы сохранить структуру папок, нужно использовать x:
unrar x

Ваня, респект!

Sunday 3 July 2011

Как заставить Linux перезагрузиться при возникновении panic ошибки?

Для этого достаточно задать параметр kernel.panic в файле /etc/sysctl.conf и применить изменения. При установке данного параметра в нулевое значение перезагрузки при panic происходить не будет, при установке в любое положительное значение (строго больше нуля) будет происходить перезагрузка через заданное количество секунд.

Итого, добавляем в файл /etc/sysctl.conf строку
kernel.panic = 15
После этого применяем изменения:
sysctl -p

Все, после этого при возникновении panic ошибки машина перезагрузится и продолжит работать корректно. Но, обращаю внимание, это неправильный способ решения проблемы, правильный заключается в поиске проблемы и ее решении.

Saturday 2 July 2011

Как получить бесплатный Windows 2008 R2 на 180 дней?

http://technet.microsoft.com/ru-ru/evalcenter/dd459137.aspx


Там выбираем: "Загрузка 64-разрядных версий (Standard, Enterprise, Datacenter и Web" и щелкаем "Начните прямо сейчас", после этого регистрируемся/логинимся и начнется загрузка триал версии^ файла с именем в стиле: xxxx_x64fre_server_eval_en-us-GRMSXEVAL_EN_DVD.iso

Будущее VmWare ESX

Если кратко, то его нет. Последний релиз vSphere, где он поддерживается - это vSphere 4.1, в следующей версии поддержка ESX будет удалена, останется только ESXi.

Источник (оригинал):
VMware vSphere 4.1 is the last release to support both the ESX and ESXi hypervisor architectures.
Future vSphere releases will only support the ESXi architecture.