关于网站最近出现504错误的总结,too open many files in system

news/2024/5/10 9:50:07/文章来源:https://blog.csdn.net/lianjiangdai/article/details/108441769

如果你有耐心看完这篇文章,也许会给你带来真正的益处。

网站出现504错误,如果你用阿里云CDN的话还会报

504 Gateway Time-out The gateway did not receive a timely response from the upstream server or application. Powered by Tengine

这样一句错误提示,通过从网络上查询504代码,意思就是网关超时。直接的意思就是无法访问到我们的服务器。网络上的解决办法五花八门,各有各的说话,但是我服务器用的环境登陆啥的都显示正常。

所有只能通过日志去发现问题。于是不懂日志的我,只能在网站频繁出504错误的时候去看网站的日志,通过日志我发现这样一条MYSQL的信息:

too open many files in system。如果你懂英语,很明白这句话是什么意思,就是系统打开的文件数过多。为什么系统会打开文件数过多?其实无论是windows还是linux每运行一个系统都会打开文件,但是并不是我们所说的那个文件的意思,而是叫做文件描述符的东西,或者叫做句柄,这个概念我是第一次碰到,先了解下什么事文件描述符或者句柄。

一般的,在Windows中我们常常叫句柄,而在linux中我们叫文件描述符,因为我网站的环境是linux,那么接下来我会用文件描述符来说。

文件描述符网络上的定义是这样的,是内核通过文件描述符来访问文件。然后不同的描述符可以打开相同的文件。这里很抽象,我是这么理解的,每个人都可能打开这个文件,每个人相当于一个单独的ID,就会给每个人的访问分配一个文件描述符。

然后无论是windows还是linux都有文件描述符的限制,比如linux的句柄有的默认是1024,阿里云ESC默认的文件描述符是65535,但实际上句柄可以调节到很大,可以通过命令:# cat /proc/sys/fs/file-max 进行查看。

上面的句柄或者文件描述符不明白的可以继续自己百度一下,进行详细的了解。

而真正解决问题是从这里开始的,为什么回报too open many files in system?

网上的很多文章都跟我说是因为系统限制的文件描述符太小,需要进行文件描述符的扩大,比如改成655300,等等,但是改了以后呢?随着时间的推移,文件数打开的必定越拉越大,越来越多,这根本不是解决问题最好的方法!那么,还是那个问题,我喜欢刨根问底,为什么会变大?之前为什么没有问题呢?

直到,我了解到mysql的一个关键参数,table_open_ cache,这才是让文件描述符不够的原因所在。来,我们看一下这位大神!

table_open_ cache字面意思就是打开表的高速缓存。来看看英文的解释。作用呢就是每当访问MYSQL的一个表时,如果缓存中有空间,那么就将这个查询缓存放到这个里面,这样可以更快的访问到表的内容。

所以,网络上的各种教程来了,什么根据打开表的数量进行调节,比如MYSQL打开表500个就调节成512甚至是1024,或者说开到2048或者更大!我很是生气没有读过MYSQL英文文档的人说这些话,不过我也没有读过,但是我注意到有人引用了文档中的一句话:If table_open_cache is set too high, MySQL may run out of file descriptors and refuse connections, fail to perform queries, and be very unreliable. 来,复制粘贴-翻译。

如果table_open_cache设置得太高,MySQL可能会用尽文件描述符并拒绝连接,无法执行查询,并且非常不可靠!

也就是说,这个table_open_cache会占用文件描述符!所以说,盲目的加单table_open_cache会占用文件描述符,并且会占用着一直不会释放,直到你给他分配的空间占满为止!

所以,那些说加多大多大的,简直是不负责任!对这个没有了解之前,你怎么可以教别人加大呢?除非他系统确实更改过这个文件描述符,不然以linux来说,65535,不超一天很快会被占满,比如查询网站访问量高半天都不到数据库就会宕掉!所以,英文的描述是:设置的太高,非常不可靠!

所以,我就默默的将这个参数调节到了64M,这是默认的大小,除非你调节了系统的文件描述符或句柄数大小,否则默认我觉得就能解决目前我遇到的问题。

然后通过lsof -n | grep 123 -c 命令可以查看某ID打开句柄大小。123是ID。

那么很多人可能会问了,那没有缓存岂不是慢了?其实我们完全可以调节query_cache_size这个参数的大小来解决,当然我是针对程序而言,毕竟我不是专业的DBA,还需要你去观察数据库运行的状态去适当的调节。以上文章是泰安人才网www.tarczp.com小编遇到的问题解决方法,这也是网络上你绝对搜索不到

CSDN首发,希望可以帮助到用LNMP为环境的人!

在这里还要注明一下,虽然我们可以通过调节table_open_cache的大小来减小这种文件描述符的大小,但是如果调节的很小的话,又会影响什么呢?

调节的过小,势必会影响一直会打开表的操作,要知道频繁打开表的操作会对服务器的性能有一定的影响,比较明显的就是内存和CPU方面,如果你发现CPU经常占满100%或者内存过大,那么这个参数可以根据你当前打开表的最大数量进行调节,比如你的表打开数量为300,那么我们可以设置table_open_cache的大小为512,但是文件描述符的大小肯定会变得更大,超过MYSQL甚至是系统限定的文件描述符,这个时候就需要调节系统的参数。

比如linux可以调节的参数为:

修改配置文件/etc/security/limits.conf,加入:
* soft nofile 655350
* hard nofile 655350

这是我设置的最大的参数,并且设置:

[root@yejr]# sysctl -w fs.file-max=655350
[root@yejr]# sysctl -a | grep fs.file-max
fs.file-max = 655350

可以重启服务器后查看这些参数是否已经改变,否则就设置无效。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_806816.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SSL更换在移动网络下打不开网站

网站因为SSL证书到期,于是申请更换了SSL证书,更换证书后,在联通和电信网络下网站访问非常正常,然后移动网络下一直提示证书不存在,查看证书发现,网站的证书竟然成了咪咕的证书。 就是如上的证书&#xff0c…

腾讯云服务器网站504,使用腾讯、百度云CDN现403和504错误的解决及使用CDN踩的坑...

最近源站出网流量超出带宽的限定值,经常导致服务器丢包。最近有点频繁,甚至一小时丢好几次,如下图所示:于是考虑接入 CDN ,腾讯云CDN送了300G流量,但是接入后经常打不开页面,就换了百度云CDN。期…

理解openssl协议:x509、crt、cer、key、csr、ssl、tls 这些都是什么鬼? 如何给自己网站颁发证书?

今天尝试在mac机上搭建docker registry私有仓库时,杯具的发现最新的registry出于安全考虑,强制使用ssl认证,于是又详细了解linux/mac上openssl的使用方法,接触了一堆新英文缩写,整理于下: TLS:…

php 500 内部服务器错误 邮件通知_网站http服务器内部500错误的解决方法 [图文]...

很多站长在建设网站时,经常遇到程序运行时打不开的问题,有的是因为程序出现错误,无法运行,而有的是因为服务器的原因。今天78t站长网先为大家整理一个常见的错误和解决办法,希望能有所帮助,如果您采用以下办…

HTML学习笔记 网站链接 以及简单符号定义

第一天学习HTML首先需要知道一些简单的定义 URL&#xff1a;Uniform Resource locator HTML:Hyper Text Markuo Language HTML is used by web browsers to display a web page. <b>make text bold</b> <em>emphasize text!</em> <img src&qu…

Redis---用Hash存储与读取List,记录网站访问量(二)

一、问题&#xff1a; java对象经过序列化后可存储到Redis中。同样&#xff0c;一个List也可以经过序列化后存储到Redis中。 现在有一个需求&#xff0c;记录某个网站不同ip的访问次数&#xff0c;或者是记录每个接口的访问次数&#xff0c;那么最终存储的数据就有可能是这样…

游戏开发网站

Microsoft官方开发网站 http://msdn.microsoft.com/directx/ Microsoft官方讨论区 Newsgroups DirectXAV DirectXDev Groups.Google nVidia官方开发网站 http://developer.nvidia.com/ Cg官方开发网站 http://developer.nvidia.com/view.asp?PAGEcg_main CgShader…

PS网页设计教程IV——如何在Photoshop中创建一个专业博客网站布局

向Talk-Mania网站致敬。一年前&#xff0c;在该网站上看过许多不错的网页设计教程。一年后&#xff0c;再回头想看看有没有什么新的教程的时候&#xff0c;蓦然发现该网站已经打不开了。也许是关闭了&#xff0c;也许是改了网站名了。幸好&#xff0c;去年本人还是下载保存了几…

40款不容错过的个人摄影设计作品集网站

日期&#xff1a;2012-11-7 来源&#xff1a;GBin1.com 如果你不仅仅是网站设计师同时也是摄影师爱好者的话&#xff0c;那么拍摄高水准的摄影作品绝对可以为你的工作带来更大的帮助&#xff01;你可以将这些照片处理后放到你设计的网站上&#xff0c;绝对是件了不起的作品。当…

给大家分享个 网站头像上传的 插件

给大家分享个 网站头像上传的 插件&#xff0c;可以实现头像的修改&#xff0c; 下载链接&#xff1a;http://download.csdn.net/detail/abc456456456456/6621241 转载于:https://www.cnblogs.com/lechao/p/3655648.html

网站类百度百科词条如何创建?

常见的网站推广方式是利用论坛、贴吧、博客、问答网站进行外链推广&#xff0c;这些方法花费时间长&#xff0c;总归是没有百科营销好&#xff0c;百度百科词条代表着客观性、专业性和权威性&#xff0c;词条不仅仅有助于网站的推广&#xff0c;也有助于对搜索引擎的优化。下面…

怎么投稿各大媒体网站?有哪些媒体网站?

互联网时代&#xff0c;软文无处不在&#xff0c;广告已经悄悄地渗透进了我们生活里&#xff0c;不论你打开什么媒体平台或是网站上的内容&#xff0c;都在影响着我们的心智甚至是行为。区别在于有的稿件内容引不起用户兴趣所以根本起不到什么效果&#xff0c;甚至有的稿件都没…

VS2012 未能将网站***配置为使用ASP.NET。为了使此网站正确运行,您必须将它手动配置为使用ASP.NET 4.5。

之前下载VS2012的时候我记得我自己配置好了这方面的信息&#xff0c;但是这次敲击牛腩新闻发布系统的时候新建Web项目时报出错误&#xff0c;如下图&#xff1a;单击确定之后还报出了如下错误&#xff1a;我担心在我敲好牛腩新闻发布系统之后会影响成果的发布&#xff0c;所以在…

CSS--例子:鲜花销售网站

排版分析CSS代码HTML代码效果展示主界面效果 end 排版分析 CSS代码 body{background-color:#ffd8d9;margin:1px 0px 0px 0px;padding:0px;text-align:center;font-size:12px;font-family:Arial, Helvetica, sans-serif; } #container{position:relative;margin:0px auto 0px a…

百度搜索时,使用‘-csdn’屏蔽掉CSDN网站的博客和内容

有些小伙伴在搜索相关技术问题的时候&#xff0c;想屏蔽掉CSDN网站的博客和资源&#xff1b; 可以在使用百度搜索时&#xff0c;关键词后面加上-csdn&#xff0c;即可手动屏蔽掉CSDN的搜索结果&#xff0c;例如一般搜索&#xff1a; 加上-csdn后&#xff1a; 参考链接1&…

写了100多篇原创文章,我常用的在线工具网站推荐给大家!

原文链接&#xff1a;http://www.macrozheng.com/#/reference/my_web_tools 不知不觉写博客已经一年多了&#xff0c;累计写了100多篇原创文章&#xff0c;今天给大家分享下我经常使用的在线工具网站&#xff0c;希望对大家有所帮助&#xff01; Markdown Nice 支持自定义样式…

response 返回图片_ReactPHP 爬虫实战:下载整个网站的图片

什么是网页抓取?你是否曾经需要从一个没有提供 API 的站点获取信息? 我们可以通过网页抓取&#xff0c;然后从目标网站的 HTML 中获得我们想要的信息&#xff0c;进而解决这个问题。 当然&#xff0c;我们也可以手动提取这些信息, 但手动操作很乏味。 所以, 通过爬虫来自动化…

语文网站第十九周推荐博客

新叶子的博客  真正的幸福&#xff0c;在于对平淡生活的热爱!用真心交知心朋友与月有关的成语 相信你的孩子是最棒的 艾岚的博客  春来了&#xff0c;看花去&#xff1b;秋来了&#xff0c;扫落叶&#xff01; [情感天地]春风相送[班务日志]我与我的猴儿们&#xff08;5月…

接口做的好怎么形容_电商网站平台怎么做?

关于电商网站平台的开发问题&#xff0c;之前敖游已经分享了很多篇相关文章。电商网站平台怎么做&#xff1f;平台开发需要准备哪些资料&#xff1f;…… 这次我准备做一个总结性的发布。让准备做电商的朋友&#xff0c;看了这篇文章基本上可以找到想要的解决方法。一、个人可以…

绕过CDN查找网站真实IP方法

查找网站 源IP方法&#xff1a; 如果遇到需要绕过CDN&#xff0c;查找网站真实IP地址时&#xff0c;可以采用如下方法&#xff1a; 假设主站服务和邮件服务在同一台服务器&#xff1a; 1.在网站用QQ邮箱注册账号&#xff1b; 2.收取注册验证邮件&#xff1b; 3.查看邮件-->显…