• Комментарий из публикации, перенесённой в черновики.
  • Как бороться с OutOfMemoryError на практике, или ох уж мне эти базы данных
    +1
    Как именно обрабатывать событие в обработчике Thread.UncaughtExceptionHandler – вопрос второй, можно конечно и в лог писать а потом эти логи парсить. Если конечно есть уверенность в том, что OOM точно не поломает логгинг.

    Речь здесь скорее про то, что а) для ловли/логгирования таких ошибок удобно использовать Thread.UncaughtExceptionHandler б) при планировании мониторинга нужно предусматривать кейсы, когда приложение полуживое, но находится в состоянии Out of Memory.
  • Как бороться с OutOfMemoryError на практике, или ох уж мне эти базы данных
    0
    Тем, что мониторинг обнаружит неработоспособность приложения сразу, а не через несколько часов например.
  • Как бороться с OutOfMemoryError на практике, или ох уж мне эти базы данных
    0
    Есть один неочевидный и коварный аспект Out of Memory ошибок, который может натворить много бед в продакшене и о котором стоит сказать. Суть в том, что в зависимости от реализации приложение в полумертвом OOM-состоянии может нормально отвечать на запросы внешнего мониторинга (например, отдавать страницу 200 ОК или возвращать утвердительный ответ о работоспособности иным способом, например по JMS), при этом де-факто уже не являясь работоспособным.

    Поэтому если речь идет о mission-critical задачах, может быть уместно устанавливать дефолтный эксепшн хендлер (см. Thread.setDefaultUncaughtExceptionHandler()) и вызывать System.exit() как только прилетает упоминание OutOfMemoryError.
  • Новый алгоритм синхронизации Яндекс.Диска: как не подавиться 900 000 файлов
    +1
    Zlib жмет 20 Мбайт в секунду при 100% утилизации ядра.
    Более современные LZ4 и Snappy (этот последний — от Google) при чуть более низком коэффициенте компрессии жмут 300-400 Мбайт на одном ядре, то бишь работают в 15-20 раз быстрее. Так что если стоит цель сэкономить CPU — на мой взгляд логичнее вместо zlib использовать их (при условии что и сервер, и клиент — ваша кодовая база, а в вашем случае это так).
  • Новый алгоритм синхронизации Яндекс.Диска: как не подавиться 900 000 файлов
    0
    Кстати, вы ведь не используете gzip компрессию?
  • Новый алгоритм синхронизации Яндекс.Диска: как не подавиться 900 000 файлов
    +3
    Поясню. Криптографические хеши sha256 и MD5 (как и древний некриптографический CRC32), которые вы используете для решения этих задач, имеют потолок производительности 300-500 Мбайт/с на одном ядре. То есть если читать и хешировать данные с SSD, то потребление CPU будет где-то в районе 100%.

    При этом у вас описаны следующие цели:
    Яндекс.Диск использует дайджесты sha256 и MD5 для проверки целостности файлов, обнаружения изменившихся фрагментов и дедупликации файлов на бекенде.

    Эти задачи применения криптографических хеш-функций не требуют. Для их решения логичнее использовать быстрые некриптографические хеши (например вышеназванный xxhash, по ссылке есть небольшое сравнение).
  • Новый алгоритм синхронизации Яндекс.Диска: как не подавиться 900 000 файлов
    +2
    Скорость получения дайджеста файла увеличена примерно в два раза.

    Воспользуйтесь каким-нибудь современным и быстрым алгоритмом хеширования (вроде xxhash) вместо медленных sha256 и md5, и у вас будет повод написать о том, что скорость выросла не в 2, а в 20-30 раз.
  • Контейнеры для Windows: за 10 лет до Microsoft
    0
    Контейнеры для Windows: за 10 лет до Microsoft

    В октябре 2014 года компания Microsoft объявила о партнерстве с Docker, в рамках которого будет представлена реализация контейнерной виртуализации для будущей версии ОС Windows Server

    Было бы интересно прочесть статью от маркетинга о том, почему «не шмогла», ведь в Linux-контейнерах происходит то же самое. Удивительно и странно наблюдать сейчас как Docker (не имея никаких ракетных технологий) съедает за рубежом рынок, который должен мог бы быть съеден OpenVZ несколько лет назад.
  • OpenFlow: текущее состояние, перспективы, проблемы
    0
    Да, можно и нужно. За некоторыми исключениями использование реактивных флоу это признак кривого дизайна.
  • OpenFlow: текущее состояние, перспективы, проблемы
    0
    Это можно сделать даже несколькими разными способами: поставить флаг OFPPC_NO_PACKET_IN на конкретный порт, либо поставить table-miss правило с пустым экшном (drop). Вообще многие кошмары, фобии и предрассудки относительно openflow отпадают сами собой при внимательном ознакомлении с их спецификацией. Другое дело, что не всякий свитч (особенно физический) поддерживает те или иные аспекты этой спецификации.
  • Исследование виртуальных серверов с SSD дисками
    0
    В заключении могу сказать, что цены на виртуальные серверы с SSD дисками в последнее время падают из-за снижения стоимости самих дисков, однако, если Вам требуется большое количество места, то хранение информации на SSD будет не дешевым удовольствием. Однако, я почти уверен, что в будущем нас ждет отказ от медленных SATA дисков.

    Реальность такова, что HDD не только никуда не денется, но и большинство перечисленных хостеров под лычкой SSD продают гибридное хранилище. Поэтому оптимизм слегка преждевременный :)
  • Новая услуга: виртуальное приватное облако
    0
    image
    Все же странно в конце 2014 видеть опенстек в публичных решениях, учитывая то, что весь рынок уже успел пощупать и поплеваться с него.
  • О Nutanix, Web-Scale, конвергентных платформах и смене парадигм построения IT инфраструктур
    0
    А что насчет Openstack? Он по сути придуман для того же самого, но его вы как-то обошли стороной.
  • О Nutanix, Web-Scale, конвергентных платформах и смене парадигм построения IT инфраструктур
    0
    KVM — это Kernel Virtual Machine или у вас продукт так одноименно называется?
  • О Nutanix, Web-Scale, конвергентных платформах и смене парадигм построения IT инфраструктур
    0
    А кто ЦА продукта?
  • Хостинг: продолжайте делать то же самое, вас уже съели
    0
    Окупаемость интернет-проекта больше 2-3-х лет не может быть. За это время оборудование уже устареет и не будет приносить прибыль. Сервера — не трубопрокатные станки.

    За два года серверы пылью покрыться не успеют :) А серьезно – ключевые технологии просто не обновляются так часто. Те же процессорные сокеты LGA2011 и LGA1366 вышли с интервалом в 4 года. При этом я уверен, что половина российских хостеров до сих пор продает хостинг на процах LGA1366. Так что здесь правильнее говорить о 4-5 годах. Это не говоря о том, что под активным клиентом никто оборудование не апгрейдит, и работать оно может столько, сколько живет клиент.

    Дальше, по кредитам и ценам. Покупая оборудование в США на трехлетний кредит со ставкой ну пусть 6% вы в итоге выплачиваете
    1*1,06^3 = 1,19 от стоимости оборудования в США
    Делая то же самое в России при процентной ставке 15%
    1,5*1,15^3 = 2,28 от стоимости оборудования в США
    Так что не все то, что кажется нерентабельным демпингом в России, на самом деле нерентабельно в США.

    А когда пользовательская база вырастет что? Поднять цены?

    Ну, цены поднимать конечно никто не будет, но в целом когда у тебя есть 100к активных пользователей хостинга — продать им что-нибудь в нагрузку не проблема. Защита от DDoS, managed серверы, домены… Вариантов много. Но в реале я думаю они не парятся на этот счет и нормально окупаются даже при текущих ценах. Надо бы посчитать конечно.
  • Хостинг: продолжайте делать то же самое, вас уже съели
    0
    150к записей в таблице пользователей не означает, что все из них активны и имеют инстансы. В каком-то из их недавних документов проскакивала цифра в 90к одновременно включенных инстансов всего.
  • Хостинг: продолжайте делать то же самое, вас уже съели
    0
    Там не такой уж жесткий демпинг, это все вполне окупаемо. Не стоит забывать, что оборудование и деньги в штатах существенно дешевле. Плюс когда имеешь много денег (а они судя по всему имеют), можно работать не на сиюминутную прибыль а на рост пользовательской базы и стоимости компании.
  • Хостинг: продолжайте делать то же самое, вас уже съели
    0
    Все не совсем так. DO первым вышел с массовым и дешевым решением на SSD. Никто не заставлял их демпинговать, это был осознанный маневр обмена ARPU на массовость и виральность. Как вино, расчет был сделан абсолютно верно. Ну а Linode были вынуждены делать не хуже и не дороже, потому что иначе бы проиграли.
  • Хостинг: продолжайте делать то же самое, вас уже съели
    0
    На мой взгляд у DO вполне окупаемая бизнес-модель, хотя и довольно демпинговая. Не стоит забывать, что в штатах серверное оборудование стоит в 1.5-1.8 раза дешевле, чем оно стоит в России.
  • Хостинг: продолжайте делать то же самое, вас уже съели
    +5
    А можете как сотрудник Parallels на оффтоп-вопрос ответить? Мне порекомендовали вам его задать :)
    Вот тут утверждается, что ваше сторейдж-решение PCS:S хостит сотни тысяч виртуальных инстансов у одного их хостеров. Кто этот счастливчик и почему вы его скрываете? :) Ведь сто тысяч инстансов это серьезный бизнес, даже у DO их меньше.
  • InfoboxCloud — публичное российское «облако» в дата-центре, получившем сертификации TIER III Facility & Design
    0
    Нельзя так вольно использовать чужие трейдмарки. P&G как лохи пишут в рекламе «Обычный порошок», а здесь ребята не постеснялись собрать и поставить к себе на сайт логотипы 10 других хостеров. Благо нас там нет, потому что Infobox выбрал тех, что подороже и поизвестнее, но будь я на месте тех конкурентов — мне бы это не понравилось. Поступок однозначно мудацкий и при наличии гос регистрации ТЗ — еще и наказуемый. Низачот.
  • InfoboxCloud — публичное российское «облако» в дата-центре, получившем сертификации TIER III Facility & Design
    0
    Там похоже маркетинг головного мозга, все время им хочется на хитром сравнении с чужими торговыми марками выехать.
    В прошлой версии сайта на голубом глазу было написано что-то вроде «решение мирового класса, не уступающее Amazon и Azure», теперь вот набор чужих логотипов прямо на сайте с некими спорными утверждениями о ценах. Довольно-таки глупое поведение на мой взгляд.
  • InfoboxCloud — публичное российское «облако» в дата-центре, получившем сертификации TIER III Facility & Design
    0
    24 ядра значит. И почем нынче 100% загрузки гипертредингового ядра? :)
  • Критическая уязвимость OpenVZ
    +1
    Да что ж такое, все хочу прикоснуться к будущему сторейджа руками и никак не выходит :)
  • Критическая уязвимость OpenVZ
    +2
    Павел, а у кого-нибудь из хостеров, работающих с Паралелс, к настоящему моменту есть опыт использования PCS:S в продакшене на масштабах сотен / тысяч виртуальных серверов? Ну и вот чтобы прямо сейчас можно было зарегистрироваться и воспользоваться снепшотами, клонированием, инкрементальными бэкапами, SSD кешированием?
  • Paypal приходит в Беларусь и Молдову
    0
    Как указал пользователь Kislotnyi выше, оказывается можно задать, где будет производиться конвертация — на стороне банка или на стороне Paypal.
    Ну и покупка это на самом деле лишь один из аспектов, у мерчантов есть еще вывод на банковский счет с конвертацией, где та же проблема — заранее неизвестен курс конвертации.

    То есть неудобство заключается в том, что невозможно посмотреть кросс-курсы пейпала. Ну, это примерно как менять деньги в оффлайновом обменнике, не зная курс, по которому их обменяют :)
  • Paypal приходит в Беларусь и Молдову
    0
    Большое спасибо, очень полезно. А не знаете, курсы пейпала посмотреть где-нибудь можно?
  • Пример веб-производительности
    0
    Ожидал в конце статьи увидеть простую и важную мысль о том, что DNS-запросы, соединения, элементы страниц и все прочее кешируется браузерами, поэтому что действительно имеет значение — это низкое латенси работы веб-приложения и минимизация пинга между пользователем и сервером. Ведь кому как ни вам (хостеру) следует популяризовать эту простую мысль. Главного не увидел. Низачот.
  • Paypal приходит в Беларусь и Молдову
    0
    Оффтоп: все хорошо у Paypal с глобализацией за исключением неявной конвертации валют по внутреннему курсу, который нигде не прописан. Напоминает игру в автоматы. Заряжаешь доллар — получаешь 30 рублей. Заряжаешь 40 рублей — получаешь доллар. Неприятно :)
  • Shit и меч
    +4
    Комментирую как соавтор одного популярного адблокера. Собственно, наш софт ежедневно устанавливают тысячи пользователей, и о (ложно)положительных срабатываниях антивирусов мы знаем не понаслышке. Поинтов по сабжу несколько.

    1. Реальная проблема у антивирусов заключается вовсе не в том, чтобы детектить, когда надо. Проблема в том, чтобы НЕ детектить когда НЕ надо. В антивирусных компаниях работает полно энтузиастов, которые делают ставку на эвристики. Причем, судя по всему, эти энтузиасты в большинстве своем неадекватны. Иначе сложно объяснить, почему например новый, подписанный код сайнингом бутстрапер (экзешник, который с красивым прогресс-баром качает и запускает msi и все пререквизиты) через несколько дней после релиза детектят 8-10 антивирусов.

    2. На самом деле, почему так происходит понятно. Потому что у этих 8-10 антивирусов один из элементов эвристики — это производная роста популярности программы. То есть вместо своей прямой задачи — определения вредоносного софта на основе объективных признаков, ребята решили поиграть в гадалок. Если абсурдность ситуации неочевидна — переформулирую. Файл автоматически помечается как вредоносный исключительно на основе того, что он резко становится популярен.

    3. Знаковый момент в дополнение к предыдущему пункту — что ложноположительному срабатыванию не мешает даже наличие код-сайнинга. Иными словами, важнейший механизм подтверждения аутентичности софта существенная часть антивирусов на данный момент просто игнорирует.

    4. При этом большинство антивирусов исповедуют принцип «детектим как хотим». Вытащить файл из детекта бывает крайне сложно, подобные процессы у АВ компаний не всегда отлажены.

    Поэтому с точки зрения разработчиков софта предпочтительнее, если бы разработчики антивирусов сохраняли статус-кво и продолжали работать опираясь на сигнатуры зловредов, собираемые постфактум. Иначе нет-нет, да и придется начать с ними судиться за ущерб репутации и упущенную прибыль, поскольку на данный момент их эвристики никуда не годны с точки зрения критерия полнота-точность.
  • Преимущества выделенных серверов над облачными решениями на примере серверной архитектуры Tuffle.com
    +1
    Следующий шаг — собрать кластер из нескольких low-end десктопов у себя дома и рассказать о том, что получилось еще более бюджетно и почти так же круто, как у ведущих облачных провайдеров.

    А потом, когда пойдут первые дизастеры, придумывать отмазки «блок питания у сервера сгорел… подождите сутки пока заменим… подождали? оказывается еще и винт сгорел вместе с БП… ценные данные были? ничем не поможем, мы же бесплатный сервис, мы не даем гарантий».

  • Контейнеры — это будущее облаков
    0
    А как обстоят дела со стабильностью Windows-контейнеров? Или это не к вам вопрос?
  • Контейнеры — это будущее облаков
    0
    А ploop — это вовсе не sparse файл

    Я не говорил, что ploop это sparse файл. Я писал, что для решения вашей проблемы достаточно выбрать любой формат/СХД, которая поддерживает sparse хранение данных, то есть не аллоцирует нули при создании волюма.

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

    Еще раз: QEMU/KVM не занимается хранением данных в каком-то одном формате а имеет множество драйверов для различных форматов и систем хранения данных и оставляет вам возможность выбора. Поэтому проблема в данном случае исключительно ваша, причем такая, которую надо целенаправленно создавать, потому что в режиме по умолчанию (raw образ, хранимый в sparse режиме) этой проблемы нет. Возможно какие то ваши действия привели к аллокации нулей в образах, ну тогда сделайте над образами cp --sparse=always file1 file1_sparsed и все у вас будет ок.

    То есть если нам нужен контейнер на 100 Гб, а в нем реально используется от силы 1-2 Gb в случае KVM он будет занимать сразу же 100Gb, а в случае ploop будет заниматься объем файловой системы + 10-20%, то есть около 2х гб.


    Вот я создал 10Тб образ в дефолтном raw формате на разделе размером 8Гб. Что я делаю не так?

    root@node04:~# qemu-img create disk-image 10000000000000 Formatting 'disk-image', fmt=raw size=10000000000000 root@node04:~# ls -la disk-image -rw-r--r-- 1 root root 10000000000000 Jan 11 18:32 disk-image root@node04:~# df -H Filesystem Size Used Avail Use% Mounted on rootfs 12G 8.0G 3.1G 73% /

  • Контейнеры — это будущее облаков
    0
    А как обстоят дела с живыми миграциями в мире LXC/OpenVZ, дело движется?
  • Контейнеры — это будущее облаков
    +2
    Proxmox – это оркестровка, под капотом там те же KVM и OpenVZ.
  • Контейнеры — это будущее облаков
    +1
    У ploop есть ряд неоспоримых преимуществ… Аналогов такой фичи, по моей инфорации, в KVM

    QEMU не занимается хранением данных, за поддержку конкретного формата хранения или конкретной СХД отвечает драйвер (драйверов у QEMU штук 10, в том числе всякие под vmdk, ceph и прочие). Ну а sparse режим хранения поддерживают если не все, то большинство из них. Можно было бы написать драйвер, который поддерживает формат хранения ploop, другое дело непонятно кому и зачем это может понадобиться, т.к. ploop решает чисто контейнерные проблемы, которых в мире полной виртуализации нет (вернее проблемы есть, но и решений полно).
  • Как работает Stack Overflow — железо
    +1
    Для того, чтобы сервер эффективно смог поддерживать такое количество памяти, необходимо в него установить эту память и 2 CPU (любых серверных, стоимостью от 8000 рублей каждый), чтобы вся память была видна. Все остальное (raid, 10G и прочее) к делу не имеет никакого отношения, это зависит от конкретных задач.

    >ему может понадобится 8 процессоров по 4-6 ядер
    Я говорю о commodity серверах с LGA 2011 сокетом под серверные Intel Xeon'ы (которые чуть менее чем полностью владеют commodity рынком) и которых можно установить лишь 2 (два) на материнскую плату, вон выше даже модель конкретную привел. 2 процессора на плату для них — это технологическое ограничение. О каких магических 8 процессорах по 4-6 ядер говорите вы мне представить сложно.

    Еще раз повторюсь: сотни гигабайт памяти сейчас — это будничная реальность commodity железа.
  • Как работает Stack Overflow — железо
    0
    Ресурс MLC SSD по порядку величины это сотни терабайт записанной даты, а от чтений они не портятся. Так что если не хранить на SSD волатильные данные (логи/своп) — они будут жить почти вечно.