(二) nginx内存分析

(二) nginx内存分析,第1张

内存控制的好,程序就稳定,一个好的内存设计,为一个牛逼的发动机提供资源。

使用内存的时候,从 ngx_pool_t 中获取内存。

不使用的时候,只需要销毁 ngx_pool_t 对象即可,相关联的内存都被释放完毕。

也就是说 ngx_pool_t 对象就算一个内存的管家,你需要用的时候向它登记就行,不用操心申请啊,释放啊等操作,很方便。

创建一个初始节点大小为 size 的 pool 。并且size的大小必须小于等于 NGX_MAX_ALLOC_FROM_POOL ,且必须大于 sizeof(ngx_pool_t)

NGX_MAX_ALLOC_FROM_POOL 大小为 (ngx_pagesize - 1),在x86上, ngx_pagesize 大小为4096。

之所以是4096,是因为寻址页面大小是4096,这个数值的设定可以照顾到大多数情况的内存使用情景,太大和太小都不是很适合。至于为何是这个数,应该是和处理器架构有关系。

size的大小必须小于等于NGX_MAX_ALLOC_FROM_POOL,且必须大于sizeof(ngx_pool_t)。因为大了寻址寻不到白白浪费空间。

调大共享内存的值。Nginx(enginex)是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务,可以调大共享内存的值,其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/507946.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-06-18
下一篇2023-06-18

发表评论

登录后才能评论

评论列表(0条)

    保存