diff --git a/README.md b/README.md index 10f6ef7b4..f2a24866b 100644 --- a/README.md +++ b/README.md @@ -42,6 +42,7 @@
  • Подготовка
  • Компиляция
  • +
  • Типовые проблемы
  • Тестирование сборки
  • Пример основных команд
  • Кластер
  • @@ -78,7 +79,7 @@ Futriix-Мультимодельная СУБД на языке С поддер ```sh unix:$ sudo apt update unix:$ sudo apt upgrade - unix:$ sudo apt install build-essential nasm autotools-dev autoconf libjemalloc-dev tcl tcl-dev uuid-dev libcurl4-openssl-dev git + 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) @@ -102,10 +103,48 @@ Futriix-Мультимодельная СУБД на языке С поддер Futriix может быть скомпилирован для следующих операционных систем: Linux, OSX, OpenBSD, NetBSD, FreeBSD. Мы поддерживаем архитектуры endian и little endian, и 32-битные и 64-битные системы. +

    (К началу)

    +## Типовые проблемы + +В данном разделе описаны типовые проблемы, возникающие при эксплуатации субд 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 выпоните команду: