Архив от 2009

Написание удобной и культурной программной обёртки для работы с транзакциями является любимым занятием многих. Транзакции надо уметь корректно начинать, заканчивать, откатывать, причем они ещё могут быть и вложенными. Python — язык многогранный (или, как говорят слабые духом, «мультипарадигмальный»), поэтому способов сделать такую обёртку на нём — несть числа. (далее…)

Недавно меня попросили сравнить провести тесты шаблонизатора для используемого нами фреймворка Grails. Зачем такие тесты нужны и что они, собственно, скажут о производительности приложения — не знаю. Однако это весело и народ такие тесты очень любит.

Собственно, у Grails никакого шаблонизатора нет, а есть язык Groovy, который можно использовать внутри серверных страничек (GSP — Groovy Server Pages). Итак, хотим измерить производительность языка Groovy. В качестве базовой точки отсчета используется язык PHP.

(далее…)

В процессе борьбы со спамом порой страдают невиновные. Системному администратору, который поставил свой SMTP сервер полезно помнить о вещах, которые помогут убедить других администраторов в том, что он рассылает не спам, а вполне легитимные письма.
(далее…)

Продолжая неустанно трудиться на благо безопасности и удобства администрирования, мы дошли до мысли о том, что sudo — вещь удобная, но небезопасная. Или наоборот, безопасная, но неудобная. Смотря, что написано в sudoers.
(далее…)

Мы хотели эту тему раскрыть на надвигающемся HighLoad, но не сложилось. Зато, сложились другие наши доклады, а этот, в связи с поступающими вопросами по теме, я расскажу тут.

На одном из наших проектов мы отдаем большое количество видео контента. Наши сервера отдают около 8 ГБит/сек, среди этого html/css/js контент занимает около 300-400 Мбит.

(далее…)

Продолжение первой части.

Мы мигрировали нашу БД на новые накопители и настало время посмотреть на картинки с производительностью.

(далее…)

На одном из наших проектов нам перестало хватать производительности дисковой подсистемы на сервере БД. Одним из решений было начать использовать дисковый массив с большим количеством шпинделей, но звучали аргументы против. Во-первых, дисковый массив + HBA (external SATA у сервера нет) стоит как 2 новых сервера. Во-вторых, дисковый массив занимает как минимум 2U. В-третьих, дисковый массив предоставит терабайты, которые, строго говоря, не нужны (размер БД + временные таблицы укладываются в 40 гигабайт максимум).

Поэтому мы подумали, почему бы не попробовать SSD. И взяли 4 Intel X25-E по 32Gb каждый. Объеденили их в 2 массива RAID0 (из-за специфики проекта мы готовы мириться с потерей данных при выходе из строя одного из устройств) и посмотрели что получилось.

Получилось следующее:

(далее…)

Посвящается С.Нековалю

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

Для непосвященных – что такое FRD или Functional Requirements Document? Это документ, детально описывающий функциональные возможности системы с упором на «как». Обычно этот документ расширяет и детализирует BRD или Business requirements document, менее детализированные требования, описывающие «что» система должна делать. Имея хорошее FRD разработчики даже самой средней квалификации садятся и пишут систему без лишних вопросов. Т.е. это – главный документ на проекте.

(далее…)

На днях Google представил свой новый амбициозный проект. Wave (Волна) — по словам его главного разработчика Ларса Расмуссена, это то, как могла бы выглядеть электронная почта, будь она изобретена сегодня. На самом деле, Волна — органичное объединение трёх таких различных способов коммуникации людей как e-mail, IM(ICQ и т.п.) и Wiki.
(далее…)

Просачиваются удивительные слухи, а именно: Charles Lamb проговорился о скором выходе бета-версии Berkeley DB Java Edition HA. (далее…)