mirror of
https://github.com/rustfs/rustfs.git
synced 2026-01-17 01:30:33 +00:00
080af2b39fe7a108051e1c3b6e565645dc0eb224
- Remove all conditional compilation (#[cfg(feature = "reed-solomon-simd")]) - Rewrite erasure_benchmark.rs to focus on SIMD performance testing - Transform comparison_benchmark.rs into SIMD performance analysis - Update all documentation and comments to English - Remove references to reed-solomon-erasure implementation - Streamline benchmark groups and test configurations - Add comprehensive SIMD-specific performance tests Breaking Changes: - Benchmarks no longer compare different implementations - All benchmarks now test SIMD implementation exclusively - Benchmark naming conventions updated for clarity Performance Testing: - Enhanced shard size sensitivity analysis - Improved concurrent performance testing - Added memory efficiency benchmarks - Comprehensive error recovery analysis
RustFS
English Documentation |中文文档
Prerequisites
| Package | Version | Download Link |
|---|---|---|
| Rust | 1.8.5+ | rust-lang.org/tools/install |
| protoc | 31.1+ | protoc-31.1-linux-x86_64.zip |
| flatc | 24.0+ | Linux.flatc.binary.g++-13.zip |
Building RustFS
Generate Protobuf Code
cargo run --bin gproto
Using Docker for Prerequisites
- uses: arduino/setup-protoc@v3
with:
version: "30.2"
- uses: Nugine/setup-flatc@v1
with:
version: "25.2.10"
Adding Console Web UI
- Download the latest console UI:
wget https://dl.rustfs.com/artifacts/console/rustfs-console-latest.zip - Create the static directory:
mkdir -p ./rustfs/static - Extract and compile RustFS:
unzip rustfs-console-latest.zip -d ./rustfs/static cargo build
Running RustFS
Configuration
Set the required environment variables:
# Basic config
export RUSTFS_VOLUMES="./target/volume/test"
export RUSTFS_ADDRESS="0.0.0.0:9000"
export RUSTFS_CONSOLE_ENABLE=true
export RUSTFS_CONSOLE_ADDRESS="0.0.0.0:9001"
# Observability config
export RUSTFS_OBS_ENDPOINT="http://localhost:4317"
# Event message configuration
#export RUSTFS_EVENT_CONFIG="./deploy/config/event.toml"
Start the service
./rustfs /data/rustfs
Observability Stack Otel and OpenObserve
OpenTelemetry Collector 和 Jaeger、Grafana、Prometheus、Loki
-
Navigate to the observability directory:
cd .docker/observability -
Start the observability stack:
docker compose -f docker-compose.yml up -d
Access Monitoring Dashboards
- Grafana:
http://localhost:3000(credentials:admin/admin) - Jaeger:
http://localhost:16686 - Prometheus:
http://localhost:9090
Configure observability
OpenTelemetry Collector address(endpoint): http://localhost:4317
OpenObserve and OpenTelemetry Collector
- Navigate to the OpenObserve and OpenTelemetry directory:
cd .docker/openobserve-otel - Start the OpenObserve and OpenTelemetry Collector services:
docker compose -f docker-compose.yml up -d - Access the OpenObserve UI:
OpenObserve UI:
http://localhost:5080- Default credentials:
- Username:
root@rustfs.com - Password:
rustfs123
- Username:
- Exposed ports:
- 5080: HTTP API and UI
- 5081: OTLP gRPC
- Default credentials:
Description
Languages
Rust
98.1%
Shell
1.5%
Makefile
0.2%
Just
0.1%