Архив рубрики: Публикации

Как включить сжатие с помощью Redis

Remote Dictionary Server, или сокращенно Redis, — это молниеносная база данных в памяти, которая хранит значения в парах ключ-значение. Она в основном используется в качестве механизма кэширования для таких баз данных, как базы данных SQL и документов.

Поскольку Redis является базой данных в памяти, используемое пространство имеет решающее значение и требует тщательного мониторинга. Одной из стратегий улучшения и оптимизации производительности памяти для Redis является использование сжатия.

По умолчанию Redis не обеспечивает сжатие любых хранимых данных. Следовательно, в приложении реализованы методы сжатия.

Давайте обсудим несколько методов, которые вы можете использовать для оптимизации производительности памяти в Redis.

 

Реализуйте алгоритм сжатия

Поскольку Redis не сжимает сохраненные значения, вы должны сделать это перед их сохранением. Существует несколько алгоритмов сжатия для сжатия строк перед их сохранением.

К таким алгоритмам относятся:

  1. Сжатие LZO — очень быстрое и обеспечивает более высокую скорость декомпрессии.
  2. LZ4 — эффективен по скорости и очень легко интегрируется в приложения.
  3. Snappy — высокая скорость сжатия/распаковки.

 

Используйте более короткие имена ключей

Хотя разработчикам следует отдавать предпочтение более описательным именам, а не коротким, использование памяти может быстро возрасти, если у вас есть обширная коллекция ключей в базе данных.

Всегда рассмотрите возможность использования коротких имен ключей для ваших данных ключ-значение, чтобы избежать этого.

Пример:

SET this_is_a_very_large_key_name value

 

Вместо этого вы можете использовать имя ключа:

SET l_key_name value

 

Это уменьшает количество символов, которые Redis хранит в вашей базе данных.

 

Сжать имена полей

То же самое можно сказать и об именах полей. И опять же, использование более короткого имени поля может сэкономить несколько байтов или килобайт вашей памяти.

Следовательно, рассмотрите возможность использования коротких имен полей для ваших данных Redis.

Пример показан ниже:

127.0.0.1:6379> HSET user_info id 1 firstname Maki lastname K country "India"

 

Здесь мы можем сэкономить немного памяти, рефакторинг имен полей следующим образом:

HSET user_info id 1 fname Maki lname country In

 

Это сжимает имена полей и значения.

 

Используйте список вместо хеша

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

Чтобы решить эту проблему, вы можете выбрать список, как показано ниже:

HSET user_info id 1 fname Maki lname country In

 

Вы можете преобразовать приведенный выше хеш в список как:

LPUSH ["fname", "Maki", "lname", "K", "country", "In"]

Избегайте динамических скриптов Lua

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

 

Включить сжатие списка

Как уже упоминалось, Redis не сжимает хранящиеся в нем значения. Сюда входят элементы внутри списка. Для значений из короткого списка это едва ли проблема. Однако для длинных списков может быть полезно включить сжатие.

В файле Redis.conf найдите строку:

sudo cat /etc/redis/redis.conf | grep list-compress

list-compress-depth 0 // change this value

 

Измените значение list-compress-depth на:

  1. 1 — сжимает все узлы списка, кроме головы и хвоста.
  2. 2 — никогда не сжимать голову или голову-> или хвост или хвост->пред.
  3. 3 – начать сжатие после head->next и tail->-prev

 

Обновите версию Redis

Еще один шаг, который вы можете предпринять, чтобы улучшить использование памяти на вашем сервере Redis, — это обновить версию Redis.

На момент написания этого руководства версия 4.0 (последняя) имела следующие функции.

  1. Он поддерживает смешанный формат RDB + AOF.
  2. Улучшение использования памяти и производительности.
  3. Введена новая команда памяти.
  4. Активная дефрагментация памяти.
  5. Более быстрое создание ключа кластера Redis.

 

Закрытие

В этой статье обсуждаются различные методы и приемы, которые можно использовать для оптимизации использования памяти в кластере Redis. Однако имейте в виду, что не все формы являются 100% гарантированными.



2022-03-31T15:19:10
Redis

Как установить Flask для Arch Linux

Flask — это серверная среда на основе Python, которая выступает в качестве ключевого компонента для разработки веб-приложений на основе Python. Flask — это легкий фреймворк, оснащенный встроенным сервером разработки и эффективной поддержкой отладки.

Несмотря на то, что Flask относится к категории микрофреймворков, во Flask можно добавлять различные библиотеки и инструменты, что также делает его подходящим для сложных проектов.

Благодаря последним достижениям в области вычислительной техники пользователи проявили интерес к системам на базе Linux. В сегодняшней статье мы покажем вам, как установить Flask на Arch Linux.

 

Предпосылки

Прежде чем углубляться в детали, у вас должен быть установлен Python на вашем Arch Linux. Приведенную здесь команду можно использовать для установки Python (если вы еще не установили).

$ sudo pacman -S python

 

Убедитесь, что установленная версия Python либо 3, либо выше 3.

$ python --version

 

Кроме того, вы также должны установить модуль виртуальной среды Python, чтобы создавать и использовать виртуальную среду Python. Для этого используйте следующую команду:

$ sudo pacman -S python-virualenv

 

Кроме того, вам может потребоваться установка pip, введя команду, указанную ниже:

$ sudo pacman -S python-pip

 

Как установить Flask для Arch Linux

В этом разделе перечислены различные шаги, которые необходимо выполнить для установки Flask.

Шаг 1: Создайте новый каталог, в котором будет создана виртуальная среда.

$ mkdir flaskpro

$ cd flaskpro

 

Шаг 2: Теперь создайте виртуальную среду с помощью venv (его установка показана в разделе «Предварительные требования»). Написанная здесь команда создаст виртуальную среду с именем «flaskenv» внутри каталога «flaskpro».

$ sudo python -m venv flaskenv

 

Чтобы проверить создание, выполните команду ls, и вы увидите, что «flaskenv» создан.

Шаг 3: Активируйте виртуальную среду, введя команду, написанную ниже.

$ source flaskenv/bin/activate

 

В выводе указано, что вы в настоящее время находитесь в виртуальной среде с именем «flaskenv».

Шаг 4: Теперь все готово для установки Flask в виртуальной среде с помощью команды, указанной ниже:

$ sudo pip install flask

 

Ну вот! Теперь вы можете разрабатывать веб-приложения с помощью Python.

Чтобы проверить, установлена ​​ли фляга или нет, вы можете проверить версию с помощью команды, указанной ниже:

$ flask --version

 

На выходе выводится версия Flask.

Более того, чтобы выйти из виртуального окружения, достаточно написать «deactivate» внутри виртуального окружения:

$ deactivate

 

При успешном выполнении команды сеанс виртуальной среды с именем «flaskenv» будет завершен, что также наблюдается в выводе.

 

Заключение

Платформа Flask позволяет создавать веб-приложения с использованием Python. Внутри среды Python можно установить Flask для работы над внутренним кодированием веб-приложений. В этой статье кратко показано, как можно установить среду Flask для Arch Linux. Помимо этого, вы также научитесь создавать и активировать виртуальную среду для использования среды flask в Arch Linux.



2022-03-31T11:11:40
ArchLinux

🌐 Как исправить распространенные ошибки веб-сервера Nginx

Nginx – очень популярный веб-сервер в наши дни.

В этой статье мы расскажем вам о некоторых распространенных ошибках при работе веб-сервера Nginx и возможных решениях.

Это не полный список.

Если вы все еще не можете устранить ошибку, попробовав предложенные решения, пожалуйста, проверьте логи сервера Nginx в каталоге /var/log/nginx/ и поищите в Google, чтобы отладить проблему. Читать

Обзор. Лучшие сетевые коммутаторы на 2022 год. Часть 2

6. Управляемый 8-портовый гигабитный коммутатор Ubiquiti Unifi — US-8-60W

Обзор. Лучшие сетевые коммутаторы на 2022 год

8-портовые модели UniFi Switch оснащены портами Gigabit Ethernet в компактном форм-факторе. Коммутаторы полностью управляемы, обеспечивают надежную работу и интеллектуальное переключение для ваших сетей. Читать

Как выбрать лучший VPN: несколько советов

У вас началась ломка от закрытия социальных сетей? Вы не может прожить без фильмов Netflix, товаров Ebay, Amazon? Мне это странно, однако я расскажу как выбрать лучший VPN и погрузиться в это снова.

Читать

Миграция в облако

Миграции в облако предшествует тщательная подготовка. Предварительно нужно выбрать формат и модель миграции, сделать инвентаризацию сервисов, спроектировать архитектуру IT, развернуть соответствующую требованиям инфраструктуру. Расскажем, как это сделать и на что опираться. Не будем расписывать все нюансы, ограничимся основными моментами миграции.

 

Модели облаков

Частное облако — IT-инфраструктура на вашем сервере. Сам сервер может работать как на территории компании, так и размещаться в дата-центре в рамках услуги colocation. Одни компании разворачивают частное облако для подстраховки, чтобы максимально ограничить доступ к данным. Другие переходят в приватную облачную среду из-за требований регуляторов, большой и сложной ИТ-системы.

Публичное облако разворачивается на серверах ЦОДа, и провайдер дает доступ к сервису одновременно нескольким компаниям. Это не значит, что один клиент сможет посмотреть, что у другого в облаке, но защита данных потребует особого внимания. В остальном публичные облака удобны и надежны: гибкое ценообразование позволяет управлять затратами, быстрое масштабирование дает возможность наращивать и сокращать мощности по мере надобности.

В гибридном варианте бизнес переносит часть некритичных сервисов в публичное облако, а ключевые процессы оставляет в частном. Также эту модель активно используют компании с разнородными требованиями к безопасности данных.

 

Три формата миграции

При частичной миграции в облако переносится часть инфраструктуры. Например, только базы данных или базы данных и транзакции. Этот формат выбирают крупные компании с рассредоточенным и неоднородным IT-ландшафтом, который сложно и дорого переносить целиком. Или нецелесообразно в силу финансовых причин, регуляторных требований. Миграция в облако

 

В случае с полной миграцией, в облако переносится вся IT-система. Для малого и среднего бизнеса — целиком и сразу. Обычно это требует нескольких дней. Например, для инфраструктуры в составе корпоративной почты, электронного документооборота, 1С и нескольких десятков рабочих терминалов на перенос достаточно 4-6 дней. Крупному бизнесу нужно больше времени, поэтому миграция планируется постепенно, по шагам. В один месяц — 1С. В другой — тестовые среды и т.д.

Гибридный формат миграции предполагает интеграцию физического и облачного IT-ландшафта. Это характерно для систем, где часть приложений и систем привязана к «железу» со специфическими параметрами. Или для инфраструктур с серьезными проблемами безопасности. Если перенести в облако все как есть, проблемы и сложности текущей IT-инфраструктуры перейдут в облачную. Вот почему параллельно с миграцией модернизируются физические мощности, улучшается пропускная способность, пересматриваются подходы к информационной безопасности.

 

Инструменты миграции

Выбор модели и формата определяет инвентаризация сервисов. Перед миграцией оценивается текущая инфраструктура, составляется список сервисов с требуемыми мощностями, отказоустойчивостью и регламентами регуляторов. Чтобы было понятно:

  • какой процесс сколько потребляет на стандартной и пиковой нагрузке, сколько и чего потребует в облаке, чтобы все работало без сбоев,
  • какие меры дополнительной отказоустойчивости придется реализовать для новой инфраструктуры,
  • чего требуют регуляторы в части транзакций, хранения и обработки персональных данных и пр.

Исходя из результатов инвентаризации, выбранной модели и формата проектируется IT архитектура. Остается выбрать технические решения для переезда.

Одним из лучших инструментов для миграции с минимальным простоем считается vCloud Availability. Он гибкий, удобный и надежный. С vCloud Availability инженеры Nubes переносили инфраструктуру крупного интернет-магазина с On-Premise в облако Nubes всего за 15 минут. И это не предел. Если грамотно настроить сетевую связность между точками переезда, провести корректный тест, перерыв в работе сервисов можно сделать совершенно незаметным и для сотрудников, и для клиентов.

Если кто и заметит изменения, так это финансовый директор, который будет рад убрать из статьи расходов капитальные затраты на IT. И системные администраторы, у которых станет в разы меньше сложностей с инфраструктурой.



2022-03-29T13:18:31
Облако