Category: it

Познаю мир с xtrabackup

Для бэкапа больших MySQL-баз последние много лет использовал mylvmbackup, перловый скрипт, который делает flush tables with read lock и после этого снапшотит весь LV с mysql. Я знал, что есть некий XtraBackup, но почему-то думал, что мне оно не надо. А тут посмотрел доклад Алексея Копытова из Percona с одного из предыдущих Highload'ов про XtraBackup, заинтересовался. Попробовал и понял - я ж блин в каменном веке жил, настолько фичастый и продуманный Percona XtraBackup. Тут и параллельное копирование, и инкрементальные бэкапы, и сжатие каждого файла отдельно. Перехожу.

KDE4 is so slooooow

KDE 3.5 был и остаётся для меня эталоном юзабилити/фичастости/скорости. Когда в 2008 году вышел KDE4, я установил его и попробовал поработать в нём. Оно было невероятно тормозным и невероятно неудобным. В ужасе я вернулся на любимый KDE3. "Ничего, — подумал я, — продукт ещё сырой, через пару лет допилят". До прошлого года я использовал Trinity, форк KDE 3.5. Но, как бы это не было грустно, я осознал, что это тупиковый путь, ибо рано или поздно на него забьют окончательно и год назад заставил себя перейти на KDE4, к тому же нередко changelog'и сопровождались "улучшенной производительностью". Я отключил все графические эффекты, до которых дотянулся, выключил Nepomuk, Akonadi и прочий хлам. И всё равно оно безбожно тормозило при какой-то минимальной нагрузке. Да, по современным меркам у меня довольно слабый компьютер: старый Pentium-4 3.0ghz, 3gb DDR2 и какая-то старая Nvidia на 256М. Но это же не калькулятор и даже не Sega. Почему оно так тормозит, хотя я не использую 3D-графику, не играю в игрушки и не смотрю 20гиговые MKVшки? Самоцель разработки — намазать в три слоя псевдокрасивого говна без всякой оптимизации? Для комфортной работы ему нужен Core i5 и 8GB памяти? Замучился в общем, начал перебирать альтернативы. В LXDE не смог настроить 2 монитора, да и невзрачное оно какое-то. Сегодня поставил XFCE, попробую посидеть на нём. А от KDE буду использовать Okular и Konsole.

nginx + fastcgi_intercept_errors = мини-грабли

Есть такая опция у nginx'а, fastcgi_intercept_errors. Она перехватывает ошибки fastcgi и преобразовыает их в ошибки nginx'а.
Сегодня около часа потратил на такую ситуацию. nginx + php-fpm. Конфиги адекватные, в барузере 500 Internal Server Error. В nginx/error.log пусто. В php-fpm/error.log пусто. Включил везде debug по-максимуму - в логах пусто. Всё перепроверил на 10 раз - без результата, ниче не работает, error 500. И тут чуйка подсказала зачем-то закомментить упомянутую выше опцию fastcgi_intercept_errors.
Сцуко, оказалось, php'шный фрэймворк (yii) выдавал свою высокоуровневую ошибку, что ему не хватает прав на запись в ./protected/runtime, а nginx её преобразовывал в error 50x.