From 2f002e81698b1779a2d32bc9777595aae8662209 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B0=D0=BD=D0=B4=D1=80=20?= =?UTF-8?q?=D0=9A=D1=83=D0=B7=D0=BD=D0=B5=D1=86=D0=BE=D0=B2?= Date: Fri, 18 Apr 2025 08:04:10 +0000 Subject: [PATCH] Update README.md --- README.md | 91 +++++++++++++++++++++++++------------------------------ 1 file changed, 42 insertions(+), 49 deletions(-) diff --git a/README.md b/README.md index 138fbaa0a..a3cf26740 100644 --- a/README.md +++ b/README.md @@ -53,7 +53,6 @@ - ## О проекте @@ -84,12 +83,11 @@ Futriix-Мультимодельная СУБД на языке С поддер unix:$ sudo apt install build-essential nasm autotools-dev autoconf libjemalloc-dev tcl tcl-dev uuid-dev libcurl4-openssl-dev git hugepages ``` - * Устанавливаем язык программирования Golang по инструкции с [официального сайта](https://go.dev/doc/install) +* Устанавливаем язык программирования Golang по инструкции с [официального сайта](https://go.dev/doc/install) ## Компиляция - 1. Копируем репозиторий ```sh unix:$ git clone https://source.futriix.ru/gvsafronov/Futriix @@ -107,56 +105,16 @@ Futriix может быть скомпилирован для следующих

(К началу)

- -## Типовые проблемы - -В данном разделе описаны типовые проблемы, возникающие при эксплуатации субд Futrix. - - -1. **Описание проблемы:** При запуске инстанса Futriix, появляется следующее сообщение: - -```sh -Warning: no config file specified, using the default config. In order to specify a config file use ./futriix-server /path/to/futriix.conf -``` - -**Решение:** - -При запуске инстанса сервера futriix, указать корректный путь до файла конфигурации, командой ниже: - - ```sh -unix:$ ./futriix-server /path/to/futriix.conf - ``` - -2. **Описание проблемы:** При запуске инстанса Futriix, появляется следующее сообщение: - -```sh -1:12:S 18 Apr 2025 04:47:25.643 # NOTICE: Detuning locks due to high load per core: 97.49% -1:12:S 18 Apr 2025 04:47:55.491 # NOTICE: CPU pressure reduced -``` - -**Решение:** - -Семантика захвата/освобождения не важна для детюнинга. Суть этого сообщения в том, что futriix пытается корректно обработать ситуацию с превышением нагрузки на ЦП. Это штатная ситуация, и она не является ошибкой и не вызывает проблем. - -Futriix использует спинлоки для быстрой синхронизации. Когда нагрузка на ЦП превышает 100% на ядро, ядро может неосознанно предоставить время ЦП заблокированному потоку, который находится в состоянии ожидания, вместо активного потока. Это приводит к значительно большей задержке. - -Когда такая ситуация обнаруживается, Futriix будет крутиться в ожидании меньшего времени, прежде чем приостановить поток. Это приводит к лучшей пропускной способности, когда время ЦП ограничено. Однако «правильным» решением является обеспечение того, чтобы время ЦП не было так ограничено. - -

(К началу)

- - ### Дополнительные параметры компиляции Для сборки проекта с поддержкой TLS выпоните команду: - - -```sh + ```sh unix:$ make BUILD_TLS=yes -``` + ``` Для сбоки проекта с поддержкой TLS, в качестве модуля, выполните команду: -```sh + ```sh unix:$ make BUILD_TLS=module -``` + ``` Для выполнения данной операции вам необходимо библиотека OpenSSL (например, libssl-dev для Debian/Ubuntu). @@ -164,9 +122,9 @@ libssl-dev для Debian/Ubuntu). После компиляции Futriix, рекомендуем запустить утилиту для проверки корректности сборки: -```sh + ```sh unix:$ make test -``` + ``` ## Исправление проблем сборки с зависимостями или кэшированными параметрами сборки. @@ -295,6 +253,41 @@ PONG ```

(К началу)

+## Типовые проблемы + +В данном разделе описаны типовые проблемы, возникающие при эксплуатации субд Futrix. + + +1. **Описание проблемы:** При запуске инстанса Futriix, появляется следующее сообщение: + +```sh +Warning: no config file specified, using the default config. In order to specify a config file use ./futriix-server /path/to/futriix.conf +``` + +**Решение:** + +При запуске инстанса сервера futriix, указать корректный путь до файла конфигурации, командой ниже: + + ```sh +unix:$ ./futriix-server /path/to/futriix.conf + ``` + +2. **Описание проблемы:** При запуске инстанса Futriix, появляется следующее сообщение: + +```sh +1:12:S 18 Apr 2025 04:47:25.643 # NOTICE: Detuning locks due to high load per core: 97.49% +1:12:S 18 Apr 2025 04:47:55.491 # NOTICE: CPU pressure reduced +``` + +**Решение:** + +Семантика захвата/освобождения не важна для детюнинга. Суть этого сообщения в том, что futriix пытается корректно обработать ситуацию с превышением нагрузки на ЦП. Это штатная ситуация, и она не является ошибкой и не вызывает проблем. + +Futriix использует спинлоки для быстрой синхронизации. Когда нагрузка на ЦП превышает 100% на ядро, ядро может неосознанно предоставить время ЦП заблокированному потоку, который находится в состоянии ожидания, вместо активного потока. Это приводит к значительно большей задержке. + +Когда такая ситуация обнаруживается, Futriix будет крутиться в ожидании меньшего времени, прежде чем приостановить поток. Это приводит к лучшей пропускной способности, когда время ЦП ограничено. Однако «правильным» решением является обеспечение того, чтобы время ЦП не было так ограничено. + +

(К началу)

## Дорожная карта