⚡ Optimize memory usage
This commit is contained in:
parent
b006d29f53
commit
5ccbc592b7
@ -31,6 +31,10 @@ type RoadTraceError struct {
|
||||
}
|
||||
|
||||
func (v *RoadMetrics) AddTrace(trace RoadTrace) {
|
||||
if viper.GetBool("performance.low_memory") {
|
||||
return
|
||||
}
|
||||
|
||||
v.TotalTraffic++
|
||||
trace.Timestamp = time.Now()
|
||||
if _, ok := v.Traffic[trace.Region]; !ok {
|
||||
@ -48,12 +52,12 @@ func (v *RoadMetrics) AddTrace(trace RoadTrace) {
|
||||
|
||||
// Garbage recycle
|
||||
if len(v.Traffic) > viper.GetInt("performance.traces_limit") {
|
||||
v.Traffic = make(map[string]int64)
|
||||
clear(v.Traffic)
|
||||
}
|
||||
if len(v.TrafficFrom) > viper.GetInt("performance.traces_limit") {
|
||||
v.TrafficFrom = make(map[string]int64)
|
||||
clear(v.TrafficFrom)
|
||||
}
|
||||
if len(v.Traces) > viper.GetInt("performance.traces_limit") {
|
||||
v.Traces = v.Traces[1:]
|
||||
clear(v.Traces)
|
||||
}
|
||||
}
|
||||
|
@ -29,6 +29,7 @@ request_logging = true
|
||||
capture_traces = true
|
||||
|
||||
[performance]
|
||||
low_memory = true
|
||||
traces_limit = 256
|
||||
prefork = false
|
||||
|
||||
|
1
test/data/.gitignore
vendored
1
test/data/.gitignore
vendored
@ -1,2 +1,3 @@
|
||||
/spa
|
||||
/capital
|
||||
/static-files
|
@ -1,9 +1,9 @@
|
||||
id = "example"
|
||||
id = "static-files"
|
||||
|
||||
[[locations]]
|
||||
id = "example-location"
|
||||
host = ["localhost:8000"]
|
||||
path = ["/"]
|
||||
id = "static-files-loc"
|
||||
hosts = ["localhost:8000"]
|
||||
paths = ["/"]
|
||||
[[locations.destinations]]
|
||||
id = "example-destination"
|
||||
uri = "files://../data/spa?fallback=index.html"
|
||||
id = "static-files-des"
|
||||
uri = "files://../data/spa?fallback=index.html"
|
||||
|
@ -1,18 +1,21 @@
|
||||
id = "central-dc"
|
||||
|
||||
[debug]
|
||||
print_routes = true
|
||||
print_routes = false
|
||||
|
||||
[sideload]
|
||||
ports = [":81"]
|
||||
secured_ports = []
|
||||
trusted_proxies = ["localhost"]
|
||||
|
||||
[hypertext]
|
||||
sideload_ports = [":81"]
|
||||
sideload_secured_ports = []
|
||||
ports = [":8000"]
|
||||
secured_ports = []
|
||||
force_https = false
|
||||
|
||||
[hypertext.certificate]
|
||||
redirect = false
|
||||
sideload_key = "./cert.key"
|
||||
sideload_pem = "./cert.pem"
|
||||
key = "./cert.key"
|
||||
pem = "./cert.pem"
|
||||
# [[hypertext.certificate]]
|
||||
# key = "./certs/privkey.pem"
|
||||
# pem = "./certs/fullchain.pem"
|
||||
|
||||
[hypertext.limitation]
|
||||
max_body_size = 549_755_813_888 # 512 GiB
|
||||
@ -21,11 +24,13 @@ max_qps = -1
|
||||
[paths]
|
||||
configs = "./config"
|
||||
|
||||
[performance]
|
||||
[telemetry]
|
||||
request_logging = true
|
||||
network_timeout = 3_000
|
||||
capture_traces = true
|
||||
|
||||
[performance]
|
||||
traces_limit = 256
|
||||
prefork = false
|
||||
|
||||
[security]
|
||||
sideload_trusted_proxies = ["localhost"]
|
||||
credential = "e81f43f32d934271af6322e5376f5f59"
|
||||
|
9
test/roadsign/config/static-files.toml
Executable file
9
test/roadsign/config/static-files.toml
Executable file
@ -0,0 +1,9 @@
|
||||
id = "static-files-num2"
|
||||
|
||||
[[locations]]
|
||||
id = "static-files-loc-num2"
|
||||
hosts = ["127.0.0.1:8000"]
|
||||
paths = ["/"]
|
||||
[[locations.destinations]]
|
||||
id = "static-files-des-num2"
|
||||
uri = "files://../data/static-files"
|
Loading…
Reference in New Issue
Block a user