Привет. Это статья-туториал про выбор технологии и реализацию проекта нагрузочных тестов для API REST микросервисов. Про себя и специфику продукта, над которым работаю, я подробно описывал тут, когда рассказывал о интеграционных тестах. Здесь этому уделять внимание не буду. Если решитесь продолжать, то Вас ждет длинное чтиво. Результатом потраченного времени и внимания будет понимание того, зачем нужно нагрузочное тестирование, с чего начать, куда двигаться дальше и шаблонный проект нагрузочных тестов, который Вы сможете адаптировать под себя. Все используемые мной технологии в этой статье несут печать Java экосистемы. Это тоже может повлиять на то, решитесь ли Вы продолжать. Поехали ...
django разработчик
Backup. Файловое резервное копирование бюджетного VPS
Предыстория. В своё время, когда мне надо было найти решение этого вопроса на Хабре, казалось, что все статьи состоят из установки и настройки Veeam Backup, Proxmox Backup и прочих коммерческих решений для блочных устройств. У меня запросы поскромнее. SLA и 3-2-1 не требуются. Достаточно восстановить работоспособность за пару часов или хотя бы пару дней. В общем, в поиске нужной статьи мне не особо повезло. Зато в комментах оказались интересные находки. Попробовав некоторые из них, в итоге остановился на описанном ниже варианте. Настроил и забыл. В качестве облачного хранилища ранее был выбран Storj. Но недавно они превратили бесплатные аккаунты в триальные. Пришлось отказаться, пересесть на Mega и освежить в памяти настройки. Заодно и выложить сюда. Надеюсь, кому-то тоже пригодятся.
TL;DR Статья состоит из настройки rsnapshot, rclone и небольшого скрипта автоматизации.
Полный гайд о стиле для IT-специалистов: как выглядеть актуально и чувствовать себя комфортно
Всем привет! Меня зовут Маша, я девушка программиста и хотела бы поделиться опытом, как легко выглядеть актуально сегодня имея любой бюджет и количество времени.
Регистрация компании в Катаре
В настоящее время Катар занимает лидирующие позиции по уровню валового внутреннего продукта на каждого жителя, что свидетельствует о его экономической стабильности и привлекательности глобального предпринимательства. Расположенное на перекрестке важных торговых путей, это государство открывает исключительные перспективы для бизнесменов, стремящихся к расширению своего присутствия на глобальной арене. Власти Катара активно поддерживают диверсификацию экономики и создают привлекательную среду для зарубежных капиталовложений, в том числе через развитие фризон и предоставление налоговых преференций.
Цель данной статьи ‒ предоставить исчерпывающий обзор процесса учреждения бизнеса в Катаре, охватывая важнейшие моменты от определения корпоративной структуры до уплаты налогов и оформления требуемых лицензий. Мы проанализируем особенности ведения бизнес-допераций в катарских СЭЗ, критерии по минимальному размеру уставного капитала, а также правовые нюансы, ориентированные на привлечение внутреннего и внешнего капитала.
Как провести фаззинг REST API с помощью RESTler. Часть 3
Привет, Хабр! С вами Владимир Исабеков, руководитель группы статического тестирования безопасности приложений в Swordfish Security. В прошлых статьях, посвященных фаззингу REST API, мы рассказывали о методе Stateful REST API Fuzzing и настройках инструмента RESTler. Сегодня мы поговорим о режимах тестирования, аннотациях, проблемах при подготовке и проведении фаззинга API и способах их решения. Статья написана в соавторстве с инженером по безопасности Артемом Мурадяном @TOKYOBOY0701.
Процесс учреждения предприятия в Объединенных Арабских Эмиратах за три этапа: путеводитель по созданию фирмы в Эмиратах
Каковы выгоды от запуска бизнес-деятельности в Объединенных Арабских Эмиратах, какие действия необходимо осуществить для легализации фирмы и как произвести открытие счета в местных банковских учреждениях.
Объединенные Арабские Эмираты ‒ страна, которая активно развивается с привлекательной для инвесторов средой. В последнее время страна обрела популярность для учреждения компаний бизнесменами из разных стран, вызвав увеличенный интерес к процессу официальной регистрации бизнеса на ее территории.
В этом обзоре мы подробно изучим ключевые преимущества данной юрисдикции и дадим пошаговую инструкцию по созданию компании в ОАЭ.
Мифы и реалии «Мультимастера» в архитектуре СУБД PostgreSQL. Часть. 1
Привет, Хабр! Недавно мы делали доклад на конференции HighLoad 2023 — «Мифы и реалии Мультимастера в архитектуре СУБД PostgreSQL». Мы — это Павел Конотопов (@kakoka) и Михаил Жилин (@mizhka), сотрудники компании Postgres Professional. Павел занимается архитектурой построения отказоустойчивых кластеров, а Михаил — анализом производительности СУБД. У каждого за плечами более десяти лет опыта в своей области.
Порассуждаем о том, как развивалась технология «Мультимастер» в экосистеме PostgreSQL, остановимся на том, что она из себя представляет, на каких внутренних механизмах PostgreSQL основана и как её можно использовать.
Мы также поговорим о том, существует ли «Честный Мультимастер» (само понятие «Честный Мультимастер» достаточно специфично и в основном употребляется в кругу разработчиков), какие реализации у него есть и как его следует применять.
Мифы и реалии «Мультимастера» в архитектуре СУБД PostgreSQL. Часть. 2
Привет, Хабр! Это снова мы — Павел Конотопов и Михаил Жилин, сотрудники компании Postgres Professional. Напомню, что Павел занимается архитектурой построения отказоустойчивых кластеров, а я анализом производительности СУБД. У каждого из нас за плечами более десяти лет опыта в своей области.
В первой части статьи «Мифы и реалии «Мультимастера» в архитектуре СУБД PostgreSQL» мы посмотрели как развивалась технология «Мультимастер» в экосистеме PostgreSQL. Обсудили существует ли «Честный Мультимастер», какие у него реализации и как его следует применять. Теперь поговорим о надёжности хранения данных.
Как работает multiprocessing в Python под капотом
Я довольно давно пишу на Python и во многих проектах использовал multiprocessing — пакет стандартной библиотеки языка Python, который предоставляет интерфейс для работы с процессами, очередями, пулами процессов и многими другими удобными инструментами для параллельного программирования. В какой-то момент я понял, что мне не хватает более детального понимания работы этой библиотеки.
Мне захотелось залезть в исходники multiprocessing, разобраться и заодно написать статью. Данная статья в основном рассчитана на новичков в Python и тех, кто хочет подробнее разобраться в том, как именно создаются процессы и пулы в Python и погрузиться в детали реализации.
Как эффективно самостоятельно изучать английский язык
Читатели Хабра, категорически вас приветствую! В этой статье я хочу поделиться с вами моделью эффективного изучения английского языка, которую я постарался сформировать исходя из своего n-летнего опыта его изучения.
Расскажу вам насколько это актуально, с чего начать, какие ресурсы и приемы использовать и как эффективно достичь результата.
Материаловедение кубита: как физически устроен центр принятия решений квантового компьютера?
Самая интересная часть квантового компьютера это, пожалуй, кубит. Как с точки зрения материаловедения устроен кубит и что позволяет проявлять ему такие фантастические свойства?
Давайте вспомним самые основные моменты, которые тесно связаны с физикой работы кубита. Как это водится, стоит начать с полупроводников. Без этого не прочувствовать принципиальную разницу.
Материаловедение полупроводника
Привычные всем полупроводниковые устройства работают довольно просто. Это группа транзисторов, объединенных в сложную архитектуру и выдающих на выходе ожидаемое напряжение (ну или не выдающих).
Полупроводниковые транзисторы часто вполне уместно сравнивают с открытым или закрытым краном для подачи самой обычной воды. При этом кран - это вентиль, являющийся инструментом и позволяющий собирать простейшие управляемые логические цепочки.
Материаловедение полупроводникового транзистора простое. Полупроводник проводит электрический ток только при определенных физических условиях и занимает место между диэлектриками и проводниками. Одним из условий проводимости для полупроводника является легирование - искусственное увеличение количества свободных электронов или вакантных мест для них.
Советские и постсоветские НИИ и КБ как конвейер уничтожения ресурсов развития
В поле общественного обсуждения проблем нашей страны постоянно всплывают такие вопросы, как недостаточные темпы технического прогресса, нехватка специалистов и обычной трудовой силы, и многое подобное, и в таком вот стиле.
Обсуждать все это в общем для простого человека несколько проблемно, но можно воспользоваться подходом «в малой капле отражается море» и посмотреть, как те же самые проблемы существуют в среднего размера НИИ.
В 2008 году я устроился ведущим инженером в НИИ Физических измерений, г. Пенза.
Для меня работа в этом НИИ была более чем знакома, я там работал с середины 80-х по середину 90-х. НИИФИ с момента своего создания было сосредоточено на создании датчиков и специализированной измерительной аппаратуры для космической отрасли.
Начало 2000-х характеризовалось тем, что цены на нефть поползли вверх, в государстве появились какие-то деньги, но одновременно стала происходить череда ярких и красочных неудач с нашими ракетами. И вопрос – а что же там происходит с нашими ракетами – создал на НИИФИ фокус ощутимого финансового потока.
Поскольку в этой организации работает куча людей, связанных между собой родственными связями, то, помимо официального молчания по всем щепетильным вопросам, организация была пронизана слухами, что у нас общий бюджет НИИ достиг сначала 0,7 (примерно 2008–2009), далее 0,9; потом 1,3; 2,1 и 2,7 (2012) миллиарда рублей.
Здесь можно задаться очень простым вопросом – а вот кто будет делать интеллектуальное наполнение проектов под эти в общем-то огромные финансовые потоки.
Блок питания на 5 выходов
Для своих электронных поделок я использую самодельный регулируемый линейный блок питания на 30V 3A. Он собран на базе конструктора с AliExpress, но я добавил несколько доработок от себя. У него неплохие характеристики в плане уровня пульсаций и шума, но всего один выход. Когда я начинал проект с операционными усилителями мне потребовалось двухполярное питание. Тогда я использовал два аккумулятора формата 6F22 "Крона", включённых последовательно со средней точкой. Это хорошее решение если вам не нужен большой ток или напряжение (у аккумуляторов формата 9F22 максимально можно получить 8.4V, а в номинале 7.4V). Ну и аккумуляторы приходится периодически заряжать.
Когда пришло время соединить аналоговую часть с цифровой, пришлось использовать ещё и регулируемый блок питания для получения +5V. Всё собиралось на беспаечных макетках и не было одного выключателя чтобы отключить все питания разом. Да и напряжение +7.4V и -7.4V с аккумуляторов бывает недостаточно для операционных усилителей. Чтобы не городить батарею из аккумуляторов 18650 я решил собрать простенький линейный блок питания на 5 фиксированных напряжений: +12V, +5V, +3.3V, -5V и -12V. Такие же напряжения выдаёт компьютерный блок питания, но там есть пульсации и шумы из-за импульсного преобразователя. Для аналоговой части это бывает критично, а фильтровать помехи сложнее нежели изначально построить линейный блок.
$2500 в месяц на сервисе с 1 функцией, которая уже была у крупных компаний
Разбираем, как разработчик создал простой продукт с выручкой $2500 в месяц, связав два популярных сервиса. Несмотря на то, что это уже было сделано до него крупными компаниями.
Когда пишешь приложения для себя
require 'glimmer-dsl-libui'
include Glimmer
window('hello world').show
Почти каждый из читателей Хабра настраивает домашнюю сеть, пишет скрипты для автоматизации умного дома, админит домашний сервер и т. д. Всё это практически «семейные обязанности» разработчика, как вынести мусор для семейного мужчины.
А как насчёт написать для своей семьи мобильное приложение? Это уже новый уровень.
Аномальное смещение перигелиев без тензоров
Формулы для численного вычисления аномального смещения перигелиев без применения тензоров.
a - большая полуось орбиты в метрах
r_0 - гравитационный радиус Солнца в метрах (2953,25).
ε - эксцентриситет орбиты (Мерк. 0,20563593, Земля 0,01671123).
Интегралы не берущиеся.
Вычисление делается в электронной таблице за 500 шагов
через дельту = 0,0125663706143592 радиана.
Интегрирование по полному обороту.
L=a \int_{0}^{1} \sqrt{1-\varepsilon^2 \cos^2 (\varphi)} ~d (\varphi)
L1=\int_{0}^{1} a * \left (1- \frac{r_0}{a}\frac{(1- \varepsilon \cos (\varphi))}{(1-\varepsilon^2)}\right)^{-3/2} }*\sqrt{1-\varepsilon^2 \cos^2 ( \varphi)} ~d ( \varphi)
Смещение перигелия за сто лет в угловых секундах:
Δφsec= = \left(\frac{L_1 - L}{L} \right)
N — число оборотов планеты за сто лет.
Проверено для Меркурия (42,9) и Земли (3,8).
Проверка была и для двойных квазаров.
Подставляя параметры звезды и орбит планет, не сложно получить и угловую скорость их вращения.
Формула получена на основе гипотезы опубликованной на странице https://beard-studio.website.yandexcloud.net/
Гипотеза по нашему времени крамольная, но мне нравится. Да и формула на её основе рабочая.
Pgpool-II
Привет, Хабр!
Pgpool-II позволяет юзерам PostgreSQL управлять пулами соединений БД, реализовывать репликацию данных между серверами БД. Pgpool-II работает как прокси-сервер между клиентскими приложениями и серверами PostgreSQL, перехватывая запросы от клиентов и направляя их к соответствующим серверам БД согласно настроенным правилам и политикам.
Pgpool-II также поддерживает множественные режимы репликации, включая репликацию на уровне строки и репликацию на уровне транзакций. Репликация на уровне строки позволяет синхронизировать изменения данных между серверами в реальном времени, в то время как репликация на уровне транзакций сосредотачивается на синхронизации транзакций целиком.
Американец построил огромного боевого робота в лесу
Задавались ли вы вопросом, насколько сложно превратить что-то, что вы задумали, в реальный продукт? Например, вы удивились ли бы, увидев, как кто-то управляет огромным железным роботом-пауком, способным разворачиваться на месте и послушно шагающим в сторону, в которую его направляет пилот?
Для воплощения своей идеи этот упорный конструктор преодолел множество препятствий: сам придумал механизм, овладел мастерством сварки алюминия, лазерной резки, 3D-печати, создал уменьшенный прототип и построил такого. Его проект выделяется даже среди самых интересных устройств, созданных своими руками, про которые вы читали.
Откиньтесь на спинку кресла и отдохните от суеты, пока читаете эту, довольно объемную, статью. Пролистывая ее, вы узнаете о замечательном изобретателе и его находчивости, неудержимой жизненной энергии и практических советах, помогающих в воплощении в жизнь своей мечты.
Защищаем сервис от перегрузки с помощью HAProxy
Если вам доводилось использовать HAProxy для балансировки трафика, вы наверняка как минимум слышали, что этот продукт умеет отслеживать показатели активности сервиса и пользователей и реагировать на них по предопределённым условиям. Обычно в статьях на эту тему приводится пример ограничения пользователя по исходному IP-адресу, если частота запросов с него превышает некоторый предопределённый заранее лимит. Вот, к примеру, такая статья с сайта разработчиков.
Я бы хотел немного углубиться в тематику использованного механизма stick tables, но поговорить не про пользователей, активно интересующихся вашим сайтом, а про нагрузочную способность, или ёмкость, всего сайта (ну или каких-то его путей). Во-первых, любой сервис ограничен в количестве одновременных запросов, которые возможно обслужить на существующих ресурсах. Во-вторых, чаще всего у сервиса не одна площадка или хотя бы не один экземпляр балансёра. А это значит, что поймать одинокого пользователя — это, конечно, здорово, но хотелось бы решить и другую интересную задачу: защитить сервис от перегрузки в целом и в случае, если балансёров более одного. Бонусом поговорим о проблеме умного перераспределения нагрузки между локациями.
Information
- Rating
- Does not participate
- Registered
- Activity