小编van*_*aer的帖子

动态更改 eBPF 映射大小

在内核中,eBPF 映射可以定义为:

struct bpf_map_def SEC("maps") my_map = {
    .type = BPF_MAP_TYPE_HASH,
    .key_size = sizeof(uint32_t),
    .value_size = sizeof(struct task_prov_struct),
    .max_entries = 4096,
};
Run Code Online (Sandbox Code Playgroud)

如果我提前不知道最大可能大小my_map(我也不想浪费内存),有没有办法预先分配一个小大小并根据需要动态增加大小?我知道bpf_map__resize函数,但它似乎是一个用户空间函数,只能在加载地图之前调用。我将不胜感激任何示例代码片段或参考。

linux-kernel ebpf

6
推荐指数
1
解决办法
1722
查看次数

django.db.utils.OperationalError:致命:抱歉,已经有太多客户端

我正在 Django 的开发服务器上运行 Django 应用程序,并使用 PostgreSQL 作为后端数据库。我收到这个错误:

django.db.utils.OperationalError: FATAL:  sorry, too many clients already
Run Code Online (Sandbox Code Playgroud)

当我使用 Locust 进行负载测试时。我的 Locust 脚本使用 100 个并发客户端运行测试:

env.runner.start(100, spawn_rate=100, wait=True)
Run Code Online (Sandbox Code Playgroud)

我在SO上看到了几个答案,例如:

  1. 出现操作错误:致命:抱歉,太多客户端已经在使用 psycopg2
  2. 当未达到 max_connections 数量时,收到“FATAL:抱歉,客户端已经太多”
  3. Django+Postgres 致命:抱歉,已经有太多客户了

从这些线程中,我想我明白了错误的原因,但我仍然很困惑。如果 PostgreSQL 甚至无法处理 100 个并发客户端,那么它在现实生活中如何扩展?这与我使用开发服务器有什么关系吗?如果我使用 Gunicorn 有帮助吗?如果需要一些连接清理,我是否应该在 Locust 脚本中实现?我在这个领域还很陌生,所以如果这些问题的答案是显而易见的,我深表歉意。

django postgresql load-testing locust

6
推荐指数
0
解决办法
1597
查看次数

标签 统计

django ×1

ebpf ×1

linux-kernel ×1

load-testing ×1

locust ×1

postgresql ×1