服务器响应用户一个请求时间很长
这个不是MYSQL的问题,对于大型分布式WEB应用程序在海量数据处理的时候,
在数据库引擎和WEB服务器之间还有一层的。
最重要的就是这一层。
缓存服务器,也就是WEB20的核心。
-----------
数据访问的瓶颈在哪里?在数据上吗?不是,在WEB服务器上吗?也不是。
当年MYSPACE网站只用了2个IIS+一个数据库服务器就能应对300万用户的需求。
就在于他们搭建了缓存而已。
对于处理数据瓶颈,处理的最好方式,就是避免针对同一数据的重复请求。
仅此而已。
A 检索了一次信息,加入缓存。
B 再来检索,不再读取数据库,而是从内存中读取高速cache,这样,数据库的压力自然就下来了,用户体验自然就上去了。
环境:
服务器系统:centos 72
站点环境:nginx
遇到问题:
1、微信小程序端请求服务器登陆接口,服务端收到请求后向微信接口服务器请求数据,请求成功后返回数据给客户端,但是请求微信接口服务器经常性出现超时问题,请求超时时间设置成10S依然会提示超时,只有偶尔的一两次会请求成功;
解决方法:
1、首先在服务器上通过终端先ping一下微信的接口域名:apiweixinqqcom;如果发现域名解析ip地址时间非常长的话说明是dns解析超时的问题;
2、找到原因后,更改服务器etc/resolvconf文件中的dns服务器地址
你可以测试一下哪个dns在你服务器上解析速度最快你就把相应的ip地址放到最上面就可以了;
3、基本上你调整过之后,你在访问微信的登陆授权接口基本上就是毫秒级别的;
备注:windows系统的服务器如果也是dns解析慢的问题,也可以参考这种方式进行修改,不过估计文件路径不一样可以自行百度;
javanet;
public class HttpDemo{
public static void main(String[] args)throws Exception{
URL url = new URL('地址');
HttpURLConnection http = (HttpURLConnection)urlopenConnection();
//获取网页的源码
BufferedReader br = new BufferedReader(new InputStreamReader(httpgetInputStream()));
String line = "";
while((line=brreadLine())!=null){
Systemoutprintln(line);
}
brclose();
//获取参数:
String value = getRequestProperty(String key);
}
}
根据你的描述,最有可能的是两个原因。
1:虚拟机资源分配不够,特别是CPU和内存。
2:虚拟机网络确实不是很稳定,你长ping看看有没有偶尔丢包。
我这边有一套系统,开始分配了一个小配额的虚拟机也很慢,后来重新分配了一个高配额的就正常了
windows环境下,默认先发起v6的DNS请求包,再自动发一个v4的。如果你想不报这个错,可以在DNS系统上配一个反向域名解析。
用nslookup测试自己的DNS可以用命令:server 192168128110(这里替换成自己的DNS ip)
一、开通流程第1步:检查修复耗资源程序
网站程序消耗了大量系统资源,站点将被暂停。请务必对出现异常的程序进行修改,修改完成且上传到服务器上。
第2步:网站开通
请登录到主机控制面板,在网站状态管理-站点状态查看-解除限制按钮进行开通。每月可开启3次。如果站点自动关闭过于频繁,连续三个月每月开启达3次,说明您的主机经常处于超负载状态,此功能将不能再开启。
二、解决建议
您也可以升级至更高配置主机产品,登录阿里云网站->管理控制台->云虚拟主机,选择要升级的主机后,点“管理"进入管理页面点击“主机升级”,升级成功后系统将为您自动迁移数据。
三、什么是耗资源
即程序占用CPU及内存过多。在使用主机时程序编写的不合理、错误严重,造成服务器负载急剧上升,严重影响了站点的正常使用。详见《耗资源相关问题汇总》
小结提示:
耗资源(客户程序故障)停权通知
尊敬的客户:由于贵网站严重影响了服务器性能,因此对您的网站采取了处理措施。我们很高兴能够为您服务,但同时请您严格遵守我们签定的主机合同,以保证我们合作的正常进行,保证我们能为更多的用户提供稳定的主机服务。由于我们是对主机服务器进行实时监控的,出现问题后必须马上采取措施,否则将会导致服务器宕机,所以发出此通知信的同时,已将您的网站暂停,希望您能理解,因此给您带来的不便向您表示深深的歉意。
1、何谓耗资源(客户程序故障)?即程序占用CPU及内存过多,是对资源的一种浪费。客户使用虚拟主机时程序编写的不合理、错误严重,造成服务器负载急剧上升,极大的影响了正常客户的使用,就是耗资源(客户程序故障)。耗资源(客户程序故障)分为耗用CPU资源和内存资源二种。
2、为什么会出现耗资源(客户程序故障)?(1)程序编写有问题。(一般为asp程序变量没有清空)(2)数据库调用频繁。(常见的是access数据库问题)(3)由于访问量或流量过大导致的耗内存问题引起的耗资源(客户程序故障)(此情况一般为大流量主机)。
3、耗资源(客户程序故障)的影响。
(1)影响较轻的,会使单个客户网站访问慢。
(2)严重的会使服务器宕机,服务器上的所有。
4、耗资源(客户程序故障)处理方法?
通过观察程度客户耗资源(客户程序故障)的程度,进行处理:
(1)程度较轻:重启程序池或站点;
(2)程度较重:关闭整个站点;
5、耗资源(客户程序故障)客户的解决办法?
发生占用资源过大问题被关停后,需要排查超额占用资源的具体链接和文件,下面介绍如何排查。
(1)从主机控制台下载关停当天的访问日志文件,具体下载路径:登录阿里云管理控制台-点击左侧云虚拟主机-点击主机右侧的管理-点击文件管理-网站日志下载-下载当天的日志,然后通过FTP打开该日志:
(2)查看日志: (3)
具体排查方法:
1a站点在关停后是没有的,因此需要查看关停之前的1-2分钟的访问日志。
2b看服务器响应请求的时间,就是访问日志的最后一列,这里的时间单位是微秒,例如上图的示例中,访问时间不到一秒(1秒=1000000微秒),一般访问时间不应超过3秒(3000000微秒),访问时间长同样会导致并发访问量过大,适当的优化程序可以减少服务器的具体响应时间。具体访问的文件也在网站日志中有展示。如上图,如果网站访问日志中的最后一列超过3000000,也就是3秒,则需要检查和优化访问的具体文件
(4)如果大量的访问来自同一IP,或是同一IP段,网站则可能是被攻击了。
(5)在浏览器种类这一列,如果有Baidu,Google,Sogou,360等字样,则表示是有搜索引擎在访问网站,如果影响网站可以配置robotstxt文件来禁止搜索引擎访问网站。
6、耗资源(客户程序故障)与大流量的区别。
(1)大流量客户:进行大量的下载、广告互换、聊天等工作,造成带宽严重占用。
(2)耗资源(客户程序故障)客户:运行自己网站程序,造成服务器负载急剧上升,造成服务器无法正常服务。
(3)区别在与大流量客户是网络带宽方面,而耗资源(客户程序故障)客户是对服务器正常运行方面。
提示:最好换好的一的服务器;VPS及ECS就不会再提示了!这是钱能解决的问题不是问题!修改程序只是暂时的处理方法;
0条评论