有什么规则或什么东西可以用来计算max_connections
,default_pool_size
和的好数字max_client_conn
吗?
默认值是奇怪的。PostgreSQL 默认为 max_connections=100,而 pgbouncer 默认为 default_pool_size=20。default_pool_size 不应该总是高于 max_connections 吗?否则,意义何在?我认为 pgbouncer 是为了让我们通过降低开销(通过重用 PostgreSQL 的连接)来处理更多的连接。我糊涂了。
我正在寻找类似于在PostgreSQL 的 wiki 中找到的建议,比如“这个参数应该是你内存的 50%”。
我记得有一个 MySQL 电子表格可以让你计算这些类型的参数。为 PostgreSQL/pgbouncer 提供类似的东西会很棒。
postgresql linux database database-administration database-performance
我有一个缓存失效系统,所以我需要将 css|js 的缓存设置为永不过期。
我试过这个
location ~* \.(js|css)$ { # |png|jpg|jpeg|gif|ico
expires max;
#log_not_found off; # what's this for?
}
Run Code Online (Sandbox Code Playgroud)
这就是我在萤火虫中看到的:
如您所见,请求仍在进行中,尽管它们只收到“未修改”的响应。但我想完全避免它们,这可能吗?
另外,我已经读到超过 1 年的到期在标准中是或将被视为无效的。真的吗?
编辑
让我完成@DisgruntledGoat 的回答:
文档是这样说的:
当且仅当在当前级别上没有定义 add_header 指令时,这些指令才从上一级继承。
我的问题是我有几个location
要缓存的块,如下所示:
add_header X-Frame-Options SAMEORIGIN;
add_header Strict-Transport-Security "max-age=31536000; includeSubdomains;";
location ~ ^/img/(.*)\.(png|jpg|jpeg|gif|bmp)$ {
expires 1w;
add_header Cache-Control public;
}
Run Code Online (Sandbox Code Playgroud)
但这将使我丢失在块外声明的所有标头。所以显然唯一的方法是在每个位置块上复制这些标题,例如:
add_header X-Frame-Options SAMEORIGIN;
add_header Strict-Transport-Security "max-age=31536000; includeSubdomains;";
location ~ ^/img/(.*)\.(png|jpg|jpeg|gif|bmp)$ {
expires 1w;
add_header Cache-Control public;
add_header X-Frame-Options SAMEORIGIN;
add_header Strict-Transport-Security "max-age=31536000; includeSubdomains;";
}
Run Code Online (Sandbox Code Playgroud)
好像不太对 有任何想法吗?