Skip to main content

Posts

Showing posts from January, 2013

MongoDB Gotchas Follow-Up

И пол года не прошло, дошли наконец руки написать продолжение эпопеи с Mongo . В общем на радостях, что получили прирост 30% на двух шардах решили мы это дело выкатить в стейджинг и потестить на реальном датасете. На реальном датасете прирост производительности равнялся 0%. Но т.к. новый монго уже вышел на тот момент, а распределение данных по шардам достаточно дорогостоящая операция, то решили задеплоить 2.2 на стейджинг и тоже погонять на живых данных. Изменить PATH в init.d скрипте дело не хитрое и деплоймент занял минут 5 вместе закачкой. Тестирование показало, что производительность осталась примерно на том же уровне. В общем javascript так и остался однопоточным и map(), reduce(), sort() так и выполняются в одном и том же потоке, не смотря на все чаяния и надежды ( http://docs.mongodb.org/manual/faq/concurrency/#faq-concurrency-operations-locks ).

Ruby Concurrency Notes

Ниже мои заметки (именно заметки, без претензии на пост) по тематике обозначенной выше - тезисно. Похоже все согласны с тем что хорошие примеры concurency done right - это продукты вроде Erlang и Scala. Версии Ruby и поддержка concurrency: JRuby 1.6+ (true concurrency via JVM) Ruby MRI 1.9.3 (native threads, GIL, примитивы - Thread, Fiber, Actor, GIL из-за This decision maybe makes us happy because we can run most of the extensions written in C without any modifications  - т.е. видимо эти C-extensions are not thread safe. Обещали Multi-VM в YARV для победы над GIL) Rubinius 2.0+ (true concurrency, no GIL, fine grained locks, примитивы - те же что и у MRI 1.9.3) Concurrency models: Thread - тут все более менее понятно Fiber  - cooperative scheduling, если один фибер закончил работу передает управление следующему Reactor pattern - IOC, сложнее для понимания, представлен в виде библиотек  http://rubyeventmachine.com/  ( libevent ),  https://github.com/celluloid/celluloi

пару мыслей об Ubuntu Phone

Возможно смарт с этой ОС на борту станет первым смартом, который я себе куплю, если это та же ОС с dm-crypt, GPG, openvpn, etc. До сих пор я все время отговаривал себя от покупки чего-то под управлением Android из-за security & privacy concerns. Современные смарты знают об их владельцах много, но не в состоянии эту информацию защитить от третьих лиц (продуктами Apple я не пользуюсь, насчет remote lock & remote wipe через iCloud нужно дополнительно уточнить). А так - зашифровал файловую систему и все - за сохранность данных можно не беспокоится (если успеешь выключить конечно, ну или хранить особо ценные данные на отдельном партишене, который подключать при необходимости), защищенные каналы коммуникации через GPG enabled email, IM OTR , защищенный канал через openvpn. Определенно на мой взгляд стоит того чтобы попробовать. P.S. а еще наверное туда можно BackTrack воткнуть, превратив ubuntu phone тем самым в hacker phone