我pipe理的一个站点位于主要供应商的共享托pipe服务器上。 该网站运行一个MySQL支持的CMS。
在过去的几个月中,我的pipe理员同事和我已经注意到几个显然随机的时候,页面加载停止后,几乎立即显示一点点通用CMS的东西。 根本没有网站特定的内容。 我们已经看到了15到30分钟的摊位。 (令人费解的是,没有任何网站访问者曾经抱怨过,尽pipe这些访问者比我们多得多。)
有一次,我偶然在摊位上检查了网站,我有时间login到主机控制面板。 怀疑数据库问题,我在网站的数据库上运行phpMyAdmin。 我经过了预备阶段,但第一个数据查询停滞了。 最后,10分钟后,问题自行清除 – 我当然没有解决任何问题 – 查询返回适当的数据。 几秒钟后我检查了网站,它运行正常。
托pipe服务技术支持一直没有反应或回避。 在一个案例中,我报告了一个纯粹的档案,他们要求一个错误信息。
在最近的摊位上,我的同事报告了这个消息:
无法与MySQL 2002build立连接:无法通过套接字“/var/lib/mysql/mysql.sock”连接到本地MySQL服务器(2)
根据这些意见,这些摊位的可能原因是什么? 一个MySQL错误,可能是一个超载? 任何其他可能性?
服务器上可能有哪些诊断日志? 我可以/应该做什么来build立网站?
没有或没有上述错误信息,是否有可能观察到相同的基本问题? (也许科技人员最近得到了案件,并添加/启用了消息?)
这看起来像我可以照顾的东西,或者是说服托pipe服务解决的问题吗?
这样的中断是一个或多或less标准的“廉价主机”function? (不幸的是,这个项目不能承受得起。)
我错过了什么难以置信的明显?
无法与MySQL 2002build立连接:无法通过套接字“/var/lib/mysql/mysql.sock”连接到本地MySQL服务器(2)
上面的消息意味着你的情况下MySQL服务器确实不可用。 由于它似乎与您的CMS在相同的主机上运行,因此networking问题不存在问题。
档位是否总是在同一时间发生? 也许供应商正在进行备份,并由于某种原因在备份期间停止MySQL? 或者也许他们有一些其他的问题,导致它崩溃,并需要重新启动MySQL?
如果我是你,我会制作一个简单的监控脚本,它会SHOW GLOBAL STATUS运行SHOW GLOBAL STATUS ,并且保持一个眼睛,如果服务器一直运行在极限附近(你可以通过SHOW VARIABLES )。 如果这样做,我会向供应商投诉,并请他们修复这个问题。
另一方面,如果服务器通常不是它的限制,突然间有一个连接的峰值,那么你只是观察共享主机的影响。 它不一定是你的网站有问题,它可以是别人。
如果你可以进入phpmyadmin,请尝试:
显示进程列表
如果它是一个正在执行的查询导致暂停,它可能会给你一些见解。
如果你可以访问慢查询日志,这也可能会给你一些方向看。 如果这是一个便宜的共享托pipe公司,你可能无法访问。
根据你的问题,你连接到本地主机,所以,这削减了大部分networking相关的问题。 也有可能这不是你正在执行的查询,而是在这种情况下,processlist可能不会告诉你你需要什么。
你真的需要让你的主机坐下来,logging事情,并找出它,因为大多数可能的问题将不会显示给你的用户名和有限的权限。 但是,没有他们有帮助,你有点卡住了。
感谢大家的回应。 我认为这个问题已经得到了很好的回答。
我认为很明显,mySQL服务器变得不可用,大多数人会认为这是无法接受的长时间。 我可能希望将服务器仪器化,将这些事件的模式特征化,作为提交给托pipe服务的技术支持的证据。
如果我能够在失速期间访问站点的控制面板,人们已经提出了一些有用的mySQL诊断。 我会尝试一下,但是我发现并不重要; 从本质上来说,“不可用”是“破”的,完全是托pipe服务的特点和解决问题的责任。 很明显,这不是该厂商的重中之重。
似乎很清楚,一些较低的网站性能标准必须被低成本的共享主机的用户所接受,而我已经放弃了这一点。 根据我在这个特定供应商方面的广泛经验,我觉得在其他地方我会有更好的结果,而且我计划尽快转移到不同的托pipe服务 – 可能是几个月。 在此之前,可能需要添加仪器。
谢谢!