- 33
- 0
ngx_pool_t *
ngx_create_pool(size_t size, ngx_log_t *log)
{
ngx_pool_t *p;
p = ngx_memalign(NGX_POOL_ALIGNMENT, size, log);
if (p == NULL) {
return NULL;
}
p->d.last = (u_char *) p + sizeof(ngx_pool_t);
p->d.end = (u_char *) p + size;
p->d.next = NULL;
p->d.failed = 0;
size = size - sizeof(ngx_pool_t);
p->max = (size < NGX_MAX_ALLOC_FROM_POOL) ? size : NGX_MAX_ALLOC_FROM_POOL;
p->current = p;
p->chain = NULL;
p->large = NULL;
p->cleanup = NULL;
p->log = log;
return p;
}
如上,在 ngx_create_pool 中 使用到了 NGX_MAX_ALLOC_FROM_POOL, NGX_MAX_ALLOC_FROM_POOL 是 ngx_pagesize - 1
但是看nginx代码, ngx_pagesize 在第一次穿件内存池的时候, 还没有被赋值。这是不是有问题?
0
打赏
收藏
点击回答
- 共 0 条
- 全部回答
-
城市野鹿 普通会员 1楼
在Nginx中,内存池是通过在服务器启动时一次性加载大量的配置文件来提高性能的。但是,如果配置文件太大,可能会导致内存池无法处理。
以下是一些创建内存池的建议:
-
使用配置文件缓存:Nginx可以使用配置文件缓存,这样就可以减少每次请求都需要从文件中读取的内容,从而提高性能。
-
使用代理:Nginx可以使用代理来转发请求到更快的服务器。这可以通过在请求的头部添加代理头来实现。
-
使用预编译的配置文件:Nginx可以使用预编译的配置文件来提高性能。预编译的配置文件可以在服务器启动时加载,而不需要每次请求都从文件中读取。
-
使用预加载的模块:Nginx可以使用预加载的模块来提高性能。预加载的模块可以在服务器启动时加载,而不需要每次请求都从文件中读取。
-
使用内存池:Nginx可以使用内存池来缓存配置文件。内存池可以在服务器启动时加载配置文件,而不需要每次请求都从文件中读取。
-
更多回答
网站公告
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
