Update README.md
This commit is contained in:
parent
bf45ed0147
commit
2f002e8169
91
README.md
91
README.md
@ -53,7 +53,6 @@
|
|||||||
</ol>
|
</ol>
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
|
|
||||||
<!-- ABOUT THE PROJECT -->
|
<!-- ABOUT THE PROJECT -->
|
||||||
## О проекте
|
## О проекте
|
||||||
|
|
||||||
@ -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
|
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. Копируем репозиторий
|
1. Копируем репозиторий
|
||||||
```sh
|
```sh
|
||||||
unix:$ git clone https://source.futriix.ru/gvsafronov/Futriix
|
unix:$ git clone https://source.futriix.ru/gvsafronov/Futriix
|
||||||
@ -107,56 +105,16 @@ Futriix может быть скомпилирован для следующих
|
|||||||
|
|
||||||
<p align="right">(<a href="#readme-top">К началу</a>)</p>
|
<p align="right">(<a href="#readme-top">К началу</a>)</p>
|
||||||
|
|
||||||
|
|
||||||
## Типовые проблемы
|
|
||||||
|
|
||||||
В данном разделе описаны типовые проблемы, возникающие при эксплуатации субд 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 будет крутиться в ожидании меньшего времени, прежде чем приостановить поток. Это приводит к лучшей пропускной способности, когда время ЦП ограничено. Однако «правильным» решением является обеспечение того, чтобы время ЦП не было так ограничено.
|
|
||||||
|
|
||||||
<p align="right">(<a href="#readme-top">К началу</a>)</p>
|
|
||||||
|
|
||||||
|
|
||||||
### Дополнительные параметры компиляции
|
### Дополнительные параметры компиляции
|
||||||
|
|
||||||
Для сборки проекта с поддержкой TLS выпоните команду:
|
Для сборки проекта с поддержкой TLS выпоните команду:
|
||||||
|
```sh
|
||||||
|
|
||||||
```sh
|
|
||||||
unix:$ make BUILD_TLS=yes
|
unix:$ make BUILD_TLS=yes
|
||||||
```
|
```
|
||||||
Для сбоки проекта с поддержкой TLS, в качестве модуля, выполните команду:
|
Для сбоки проекта с поддержкой TLS, в качестве модуля, выполните команду:
|
||||||
```sh
|
```sh
|
||||||
unix:$ make BUILD_TLS=module
|
unix:$ make BUILD_TLS=module
|
||||||
```
|
```
|
||||||
Для выполнения данной операции вам необходимо библиотека OpenSSL (например,
|
Для выполнения данной операции вам необходимо библиотека OpenSSL (например,
|
||||||
libssl-dev для Debian/Ubuntu).
|
libssl-dev для Debian/Ubuntu).
|
||||||
|
|
||||||
@ -164,9 +122,9 @@ libssl-dev для Debian/Ubuntu).
|
|||||||
|
|
||||||
После компиляции Futriix, рекомендуем запустить утилиту для проверки корректности сборки:
|
После компиляции Futriix, рекомендуем запустить утилиту для проверки корректности сборки:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
unix:$ make test
|
unix:$ make test
|
||||||
```
|
```
|
||||||
|
|
||||||
## Исправление проблем сборки с зависимостями или кэшированными параметрами сборки.
|
## Исправление проблем сборки с зависимостями или кэшированными параметрами сборки.
|
||||||
|
|
||||||
@ -295,6 +253,41 @@ PONG
|
|||||||
```
|
```
|
||||||
<p align="right">(<a href="#readme-top">К началу</a>)</p>
|
<p align="right">(<a href="#readme-top">К началу</a>)</p>
|
||||||
|
|
||||||
|
## Типовые проблемы
|
||||||
|
|
||||||
|
В данном разделе описаны типовые проблемы, возникающие при эксплуатации субд 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 будет крутиться в ожидании меньшего времени, прежде чем приостановить поток. Это приводит к лучшей пропускной способности, когда время ЦП ограничено. Однако «правильным» решением является обеспечение того, чтобы время ЦП не было так ограничено.
|
||||||
|
|
||||||
|
<p align="right">(<a href="#readme-top">К началу</a>)</p>
|
||||||
|
|
||||||
<!-- ROADMAP -->
|
<!-- ROADMAP -->
|
||||||
## Дорожная карта
|
## Дорожная карта
|
||||||
|
Loading…
x
Reference in New Issue
Block a user