• 关于

    多主机搜索常见故障

    的搜索结果

回答

详细解答可以参考官方帮助文档  耗资源(客户程序故障)停权通知 尊敬的客户: 由于贵网站严重影响了服务器性能,因此对您的网站采取了处理措施。我们很高兴能够为您服务,但同时请您严格遵守我们签定的主机合同,以保证我们合作的正常进行,保证我们能为更多的用户提供稳定的主机服务。由于我们是对主机服务器进行实时监控的,出现问题后必须马上采取措施,否则将会导致服务器宕机,所以发出此通知信的同时,已将您的网站暂停,希望您能理解,因此给您带来的不便向您表示深深的歉意。   何谓耗资源(客户程序故障)? 即程序占用 CPU 及内存过多,是对资源的一种浪费。客户使用虚拟主机时程序编写的不合理、错误严重,造成服务器负载急剧上升,极大的影响了正常客户的使用,就是耗资源(客户程序故障)。耗资源(客户程序故障)分为耗用 CPU 资源和内存资源二种。   为什么会出现耗资源(客户程序故障)? 程序编写有问题(一般为 ASP 程序变量没有清空)。 数据库调用频繁(常见的是 Access 数据库问题)。 由于访问量或流量过大导致的耗内存问题引起的耗资源(客户程序故障)(此情况一般为大流量主机)。   耗资源(客户程序故障)的影响。 影响较轻的,会使单个客户网站访问慢。 严重的会使服务器宕机,服务器上的所有网站无法访问。   耗资源(客户程序故障)处理方法? 通过观察程度客户耗资源(客户程序故障)的程度,进行处理:  程度较轻:重启程序池或站点。  程度较重:关闭整个站点。   耗资源(客户程序故障)客户的解决办法? 发生占用资源过大问题被关停后,需要排查超额占用资源的具体链接和文件,下面介绍如何排查。 1. 从主机控制台下载关停当天的访问日志文件,具体下载路径:登录 阿里云虚拟主机管理页面 >  管理 > 文件管理 > 网站日志下载 > 下载当天的日志,通过 FTP 打开该日志: 2. 查看日志,下图为示例: 3. 具体排查方法: 站点在关停后是没有访问日志的,因此需要查看关停之前的1-2分钟的访问日志。 看服务器响应请求的时间,就是访问日志的最后一列,这里的时间单位是微秒,例如上图的示例中,访问时间不到一秒(1秒=1000000微秒),一般访问时间不应超过3秒(3000000微秒),访问时间长同样会导致并发访问量过大,适当的优化程序可以减少服务器的具体响应时间。具体访问的文件也在网站日志中有展示。如上图,如果网站访问日志中的最后一列超过3000000,也就是3秒,则需要检查和优化访问的具体文件,如上图的 test.php。  4. 如果大量的访问来自同一 IP,或是同一 IP 段,网站则可能是被攻击了。  5. 在浏览器种类这一列,如果有 Baidu,Google,Sogou,360 等字样,则表示是有搜索引擎在访问网站,如果影响网站可以配置 robots.txt 文件来禁止搜索引擎访问网站。   耗资源(客户程序故障)与大流量的区别。  大流量客户:进行大量的图片下载、广告互换、聊天等工作,造成带宽严重占用。 耗资源(客户程序故障)客户:运行自己网站程序,造成服务器负载急剧上升,造成服务器无法正常服务。 区别在与大流量客户是网络带宽方面,而耗资源(客户程序故障)客户是对服务器正常运行方面。        

2019-12-01 23:21:05 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档  耗资源(客户程序故障)停权通知 尊敬的客户: 由于贵网站严重影响了服务器性能,因此对您的网站采取了处理措施。我们很高兴能够为您服务,但同时请您严格遵守我们签定的主机合同,以保证我们合作的正常进行,保证我们能为更多的用户提供稳定的主机服务。由于我们是对主机服务器进行实时监控的,出现问题后必须马上采取措施,否则将会导致服务器宕机,所以发出此通知信的同时,已将您的网站暂停,希望您能理解,因此给您带来的不便向您表示深深的歉意。   何谓耗资源(客户程序故障)? 即程序占用 CPU 及内存过多,是对资源的一种浪费。客户使用虚拟主机时程序编写的不合理、错误严重,造成服务器负载急剧上升,极大的影响了正常客户的使用,就是耗资源(客户程序故障)。耗资源(客户程序故障)分为耗用 CPU 资源和内存资源二种。   为什么会出现耗资源(客户程序故障)? 程序编写有问题(一般为 ASP 程序变量没有清空)。 数据库调用频繁(常见的是 Access 数据库问题)。 由于访问量或流量过大导致的耗内存问题引起的耗资源(客户程序故障)(此情况一般为大流量主机)。   耗资源(客户程序故障)的影响。 影响较轻的,会使单个客户网站访问慢。 严重的会使服务器宕机,服务器上的所有网站无法访问。   耗资源(客户程序故障)处理方法? 通过观察程度客户耗资源(客户程序故障)的程度,进行处理:  程度较轻:重启程序池或站点。  程度较重:关闭整个站点。   耗资源(客户程序故障)客户的解决办法? 发生占用资源过大问题被关停后,需要排查超额占用资源的具体链接和文件,下面介绍如何排查。 1. 从主机控制台下载关停当天的访问日志文件,具体下载路径:登录 阿里云虚拟主机管理页面 >  管理 > 文件管理 > 网站日志下载 > 下载当天的日志,通过 FTP 打开该日志: 2. 查看日志,下图为示例: 3. 具体排查方法: 站点在关停后是没有访问日志的,因此需要查看关停之前的1-2分钟的访问日志。 看服务器响应请求的时间,就是访问日志的最后一列,这里的时间单位是微秒,例如上图的示例中,访问时间不到一秒(1秒=1000000微秒),一般访问时间不应超过3秒(3000000微秒),访问时间长同样会导致并发访问量过大,适当的优化程序可以减少服务器的具体响应时间。具体访问的文件也在网站日志中有展示。如上图,如果网站访问日志中的最后一列超过3000000,也就是3秒,则需要检查和优化访问的具体文件,如上图的 test.php。  4. 如果大量的访问来自同一 IP,或是同一 IP 段,网站则可能是被攻击了。  5. 在浏览器种类这一列,如果有 Baidu,Google,Sogou,360 等字样,则表示是有搜索引擎在访问网站,如果影响网站可以配置 robots.txt 文件来禁止搜索引擎访问网站。   耗资源(客户程序故障)与大流量的区别。  大流量客户:进行大量的图片下载、广告互换、聊天等工作,造成带宽严重占用。 耗资源(客户程序故障)客户:运行自己网站程序,造成服务器负载急剧上升,造成服务器无法正常服务。 区别在与大流量客户是网络带宽方面,而耗资源(客户程序故障)客户是对服务器正常运行方面。        

2019-12-01 23:21:05 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档  耗资源(客户程序故障)停权通知 尊敬的客户: 由于贵网站严重影响了服务器性能,因此对您的网站采取了处理措施。我们很高兴能够为您服务,但同时请您严格遵守我们签定的主机合同,以保证我们合作的正常进行,保证我们能为更多的用户提供稳定的主机服务。由于我们是对主机服务器进行实时监控的,出现问题后必须马上采取措施,否则将会导致服务器宕机,所以发出此通知信的同时,已将您的网站暂停,希望您能理解,因此给您带来的不便向您表示深深的歉意。   何谓耗资源(客户程序故障)? 即程序占用 CPU 及内存过多,是对资源的一种浪费。客户使用虚拟主机时程序编写的不合理、错误严重,造成服务器负载急剧上升,极大的影响了正常客户的使用,就是耗资源(客户程序故障)。耗资源(客户程序故障)分为耗用 CPU 资源和内存资源二种。   为什么会出现耗资源(客户程序故障)? 程序编写有问题(一般为 ASP 程序变量没有清空)。 数据库调用频繁(常见的是 Access 数据库问题)。 由于访问量或流量过大导致的耗内存问题引起的耗资源(客户程序故障)(此情况一般为大流量主机)。   耗资源(客户程序故障)的影响。 影响较轻的,会使单个客户网站访问慢。 严重的会使服务器宕机,服务器上的所有网站无法访问。   耗资源(客户程序故障)处理方法? 通过观察程度客户耗资源(客户程序故障)的程度,进行处理:  程度较轻:重启程序池或站点。  程度较重:关闭整个站点。   耗资源(客户程序故障)客户的解决办法? 发生占用资源过大问题被关停后,需要排查超额占用资源的具体链接和文件,下面介绍如何排查。 1. 从主机控制台下载关停当天的访问日志文件,具体下载路径:登录 阿里云虚拟主机管理页面 >  管理 > 文件管理 > 网站日志下载 > 下载当天的日志,通过 FTP 打开该日志: 2. 查看日志,下图为示例: 3. 具体排查方法: 站点在关停后是没有访问日志的,因此需要查看关停之前的1-2分钟的访问日志。 看服务器响应请求的时间,就是访问日志的最后一列,这里的时间单位是微秒,例如上图的示例中,访问时间不到一秒(1秒=1000000微秒),一般访问时间不应超过3秒(3000000微秒),访问时间长同样会导致并发访问量过大,适当的优化程序可以减少服务器的具体响应时间。具体访问的文件也在网站日志中有展示。如上图,如果网站访问日志中的最后一列超过3000000,也就是3秒,则需要检查和优化访问的具体文件,如上图的 test.php。  4. 如果大量的访问来自同一 IP,或是同一 IP 段,网站则可能是被攻击了。  5. 在浏览器种类这一列,如果有 Baidu,Google,Sogou,360 等字样,则表示是有搜索引擎在访问网站,如果影响网站可以配置 robots.txt 文件来禁止搜索引擎访问网站。   耗资源(客户程序故障)与大流量的区别。  大流量客户:进行大量的图片下载、广告互换、聊天等工作,造成带宽严重占用。 耗资源(客户程序故障)客户:运行自己网站程序,造成服务器负载急剧上升,造成服务器无法正常服务。 区别在与大流量客户是网络带宽方面,而耗资源(客户程序故障)客户是对服务器正常运行方面。        

2019-12-01 23:21:06 0 浏览量 回答数 0

万券齐发助力企业上云,爆款产品低至2.2折起!

限量神券最高减1000,抢完即止!云服务器ECS新用户首购低至0.95折!

回答

详细解答可以参考官方帮助文档  耗资源(客户程序故障)停权通知 尊敬的客户: 由于贵网站严重影响了服务器性能,因此对您的网站采取了处理措施。我们很高兴能够为您服务,但同时请您严格遵守我们签定的主机合同,以保证我们合作的正常进行,保证我们能为更多的用户提供稳定的主机服务。由于我们是对主机服务器进行实时监控的,出现问题后必须马上采取措施,否则将会导致服务器宕机,所以发出此通知信的同时,已将您的网站暂停,希望您能理解,因此给您带来的不便向您表示深深的歉意。   何谓耗资源(客户程序故障)? 即程序占用 CPU 及内存过多,是对资源的一种浪费。客户使用虚拟主机时程序编写的不合理、错误严重,造成服务器负载急剧上升,极大的影响了正常客户的使用,就是耗资源(客户程序故障)。耗资源(客户程序故障)分为耗用 CPU 资源和内存资源二种。   为什么会出现耗资源(客户程序故障)? 程序编写有问题(一般为 ASP 程序变量没有清空)。 数据库调用频繁(常见的是 Access 数据库问题)。 由于访问量或流量过大导致的耗内存问题引起的耗资源(客户程序故障)(此情况一般为大流量主机)。   耗资源(客户程序故障)的影响。 影响较轻的,会使单个客户网站访问慢。 严重的会使服务器宕机,服务器上的所有网站无法访问。   耗资源(客户程序故障)处理方法? 通过观察程度客户耗资源(客户程序故障)的程度,进行处理:  程度较轻:重启程序池或站点。  程度较重:关闭整个站点。   耗资源(客户程序故障)客户的解决办法? 发生占用资源过大问题被关停后,需要排查超额占用资源的具体链接和文件,下面介绍如何排查。 1. 从主机控制台下载关停当天的访问日志文件,具体下载路径:登录 阿里云虚拟主机管理页面 >  管理 > 文件管理 > 网站日志下载 > 下载当天的日志,通过 FTP 打开该日志: 2. 查看日志,下图为示例: 3. 具体排查方法: 站点在关停后是没有访问日志的,因此需要查看关停之前的1-2分钟的访问日志。 看服务器响应请求的时间,就是访问日志的最后一列,这里的时间单位是微秒,例如上图的示例中,访问时间不到一秒(1秒=1000000微秒),一般访问时间不应超过3秒(3000000微秒),访问时间长同样会导致并发访问量过大,适当的优化程序可以减少服务器的具体响应时间。具体访问的文件也在网站日志中有展示。如上图,如果网站访问日志中的最后一列超过3000000,也就是3秒,则需要检查和优化访问的具体文件,如上图的 test.php。  4. 如果大量的访问来自同一 IP,或是同一 IP 段,网站则可能是被攻击了。  5. 在浏览器种类这一列,如果有 Baidu,Google,Sogou,360 等字样,则表示是有搜索引擎在访问网站,如果影响网站可以配置 robots.txt 文件来禁止搜索引擎访问网站。   耗资源(客户程序故障)与大流量的区别。  大流量客户:进行大量的图片下载、广告互换、聊天等工作,造成带宽严重占用。 耗资源(客户程序故障)客户:运行自己网站程序,造成服务器负载急剧上升,造成服务器无法正常服务。 区别在与大流量客户是网络带宽方面,而耗资源(客户程序故障)客户是对服务器正常运行方面。        

2019-12-01 23:21:05 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档  耗资源(客户程序故障)停权通知 尊敬的客户: 由于贵网站严重影响了服务器性能,因此对您的网站采取了处理措施。我们很高兴能够为您服务,但同时请您严格遵守我们签定的主机合同,以保证我们合作的正常进行,保证我们能为更多的用户提供稳定的主机服务。由于我们是对主机服务器进行实时监控的,出现问题后必须马上采取措施,否则将会导致服务器宕机,所以发出此通知信的同时,已将您的网站暂停,希望您能理解,因此给您带来的不便向您表示深深的歉意。   何谓耗资源(客户程序故障)? 即程序占用 CPU 及内存过多,是对资源的一种浪费。客户使用虚拟主机时程序编写的不合理、错误严重,造成服务器负载急剧上升,极大的影响了正常客户的使用,就是耗资源(客户程序故障)。耗资源(客户程序故障)分为耗用 CPU 资源和内存资源二种。   为什么会出现耗资源(客户程序故障)? 程序编写有问题(一般为 ASP 程序变量没有清空)。 数据库调用频繁(常见的是 Access 数据库问题)。 由于访问量或流量过大导致的耗内存问题引起的耗资源(客户程序故障)(此情况一般为大流量主机)。   耗资源(客户程序故障)的影响。 影响较轻的,会使单个客户网站访问慢。 严重的会使服务器宕机,服务器上的所有网站无法访问。   耗资源(客户程序故障)处理方法? 通过观察程度客户耗资源(客户程序故障)的程度,进行处理:  程度较轻:重启程序池或站点。  程度较重:关闭整个站点。   耗资源(客户程序故障)客户的解决办法? 发生占用资源过大问题被关停后,需要排查超额占用资源的具体链接和文件,下面介绍如何排查。 1. 从主机控制台下载关停当天的访问日志文件,具体下载路径:登录 阿里云虚拟主机管理页面 >  管理 > 文件管理 > 网站日志下载 > 下载当天的日志,通过 FTP 打开该日志: 2. 查看日志,下图为示例: 3. 具体排查方法: 站点在关停后是没有访问日志的,因此需要查看关停之前的1-2分钟的访问日志。 看服务器响应请求的时间,就是访问日志的最后一列,这里的时间单位是微秒,例如上图的示例中,访问时间不到一秒(1秒=1000000微秒),一般访问时间不应超过3秒(3000000微秒),访问时间长同样会导致并发访问量过大,适当的优化程序可以减少服务器的具体响应时间。具体访问的文件也在网站日志中有展示。如上图,如果网站访问日志中的最后一列超过3000000,也就是3秒,则需要检查和优化访问的具体文件,如上图的 test.php。  4. 如果大量的访问来自同一 IP,或是同一 IP 段,网站则可能是被攻击了。  5. 在浏览器种类这一列,如果有 Baidu,Google,Sogou,360 等字样,则表示是有搜索引擎在访问网站,如果影响网站可以配置 robots.txt 文件来禁止搜索引擎访问网站。   耗资源(客户程序故障)与大流量的区别。  大流量客户:进行大量的图片下载、广告互换、聊天等工作,造成带宽严重占用。 耗资源(客户程序故障)客户:运行自己网站程序,造成服务器负载急剧上升,造成服务器无法正常服务。 区别在与大流量客户是网络带宽方面,而耗资源(客户程序故障)客户是对服务器正常运行方面。        

2019-12-01 23:21:06 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档  耗资源(客户程序故障)停权通知 尊敬的客户: 由于贵网站严重影响了服务器性能,因此对您的网站采取了处理措施。我们很高兴能够为您服务,但同时请您严格遵守我们签定的主机合同,以保证我们合作的正常进行,保证我们能为更多的用户提供稳定的主机服务。由于我们是对主机服务器进行实时监控的,出现问题后必须马上采取措施,否则将会导致服务器宕机,所以发出此通知信的同时,已将您的网站暂停,希望您能理解,因此给您带来的不便向您表示深深的歉意。   何谓耗资源(客户程序故障)? 即程序占用 CPU 及内存过多,是对资源的一种浪费。客户使用虚拟主机时程序编写的不合理、错误严重,造成服务器负载急剧上升,极大的影响了正常客户的使用,就是耗资源(客户程序故障)。耗资源(客户程序故障)分为耗用 CPU 资源和内存资源二种。   为什么会出现耗资源(客户程序故障)? 程序编写有问题(一般为 ASP 程序变量没有清空)。 数据库调用频繁(常见的是 Access 数据库问题)。 由于访问量或流量过大导致的耗内存问题引起的耗资源(客户程序故障)(此情况一般为大流量主机)。   耗资源(客户程序故障)的影响。 影响较轻的,会使单个客户网站访问慢。 严重的会使服务器宕机,服务器上的所有网站无法访问。   耗资源(客户程序故障)处理方法? 通过观察程度客户耗资源(客户程序故障)的程度,进行处理:  程度较轻:重启程序池或站点。  程度较重:关闭整个站点。   耗资源(客户程序故障)客户的解决办法? 发生占用资源过大问题被关停后,需要排查超额占用资源的具体链接和文件,下面介绍如何排查。 1. 从主机控制台下载关停当天的访问日志文件,具体下载路径:登录 阿里云虚拟主机管理页面 >  管理 > 文件管理 > 网站日志下载 > 下载当天的日志,通过 FTP 打开该日志: 2. 查看日志,下图为示例: 3. 具体排查方法: 站点在关停后是没有访问日志的,因此需要查看关停之前的1-2分钟的访问日志。 看服务器响应请求的时间,就是访问日志的最后一列,这里的时间单位是微秒,例如上图的示例中,访问时间不到一秒(1秒=1000000微秒),一般访问时间不应超过3秒(3000000微秒),访问时间长同样会导致并发访问量过大,适当的优化程序可以减少服务器的具体响应时间。具体访问的文件也在网站日志中有展示。如上图,如果网站访问日志中的最后一列超过3000000,也就是3秒,则需要检查和优化访问的具体文件,如上图的 test.php。  4. 如果大量的访问来自同一 IP,或是同一 IP 段,网站则可能是被攻击了。  5. 在浏览器种类这一列,如果有 Baidu,Google,Sogou,360 等字样,则表示是有搜索引擎在访问网站,如果影响网站可以配置 robots.txt 文件来禁止搜索引擎访问网站。   耗资源(客户程序故障)与大流量的区别。  大流量客户:进行大量的图片下载、广告互换、聊天等工作,造成带宽严重占用。 耗资源(客户程序故障)客户:运行自己网站程序,造成服务器负载急剧上升,造成服务器无法正常服务。 区别在与大流量客户是网络带宽方面,而耗资源(客户程序故障)客户是对服务器正常运行方面。        

2019-12-01 23:21:05 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档  耗资源(客户程序故障)停权通知 尊敬的客户: 由于贵网站严重影响了服务器性能,因此对您的网站采取了处理措施。我们很高兴能够为您服务,但同时请您严格遵守我们签定的主机合同,以保证我们合作的正常进行,保证我们能为更多的用户提供稳定的主机服务。由于我们是对主机服务器进行实时监控的,出现问题后必须马上采取措施,否则将会导致服务器宕机,所以发出此通知信的同时,已将您的网站暂停,希望您能理解,因此给您带来的不便向您表示深深的歉意。   何谓耗资源(客户程序故障)? 即程序占用 CPU 及内存过多,是对资源的一种浪费。客户使用虚拟主机时程序编写的不合理、错误严重,造成服务器负载急剧上升,极大的影响了正常客户的使用,就是耗资源(客户程序故障)。耗资源(客户程序故障)分为耗用 CPU 资源和内存资源二种。   为什么会出现耗资源(客户程序故障)? 程序编写有问题(一般为 ASP 程序变量没有清空)。 数据库调用频繁(常见的是 Access 数据库问题)。 由于访问量或流量过大导致的耗内存问题引起的耗资源(客户程序故障)(此情况一般为大流量主机)。   耗资源(客户程序故障)的影响。 影响较轻的,会使单个客户网站访问慢。 严重的会使服务器宕机,服务器上的所有网站无法访问。   耗资源(客户程序故障)处理方法? 通过观察程度客户耗资源(客户程序故障)的程度,进行处理:  程度较轻:重启程序池或站点。  程度较重:关闭整个站点。   耗资源(客户程序故障)客户的解决办法? 发生占用资源过大问题被关停后,需要排查超额占用资源的具体链接和文件,下面介绍如何排查。 1. 从主机控制台下载关停当天的访问日志文件,具体下载路径:登录 阿里云虚拟主机管理页面 >  管理 > 文件管理 > 网站日志下载 > 下载当天的日志,通过 FTP 打开该日志: 2. 查看日志,下图为示例: 3. 具体排查方法: 站点在关停后是没有访问日志的,因此需要查看关停之前的1-2分钟的访问日志。 看服务器响应请求的时间,就是访问日志的最后一列,这里的时间单位是微秒,例如上图的示例中,访问时间不到一秒(1秒=1000000微秒),一般访问时间不应超过3秒(3000000微秒),访问时间长同样会导致并发访问量过大,适当的优化程序可以减少服务器的具体响应时间。具体访问的文件也在网站日志中有展示。如上图,如果网站访问日志中的最后一列超过3000000,也就是3秒,则需要检查和优化访问的具体文件,如上图的 test.php。  4. 如果大量的访问来自同一 IP,或是同一 IP 段,网站则可能是被攻击了。  5. 在浏览器种类这一列,如果有 Baidu,Google,Sogou,360 等字样,则表示是有搜索引擎在访问网站,如果影响网站可以配置 robots.txt 文件来禁止搜索引擎访问网站。   耗资源(客户程序故障)与大流量的区别。  大流量客户:进行大量的图片下载、广告互换、聊天等工作,造成带宽严重占用。 耗资源(客户程序故障)客户:运行自己网站程序,造成服务器负载急剧上升,造成服务器无法正常服务。 区别在与大流量客户是网络带宽方面,而耗资源(客户程序故障)客户是对服务器正常运行方面。        

2019-12-01 23:21:06 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档  耗资源(客户程序故障)停权通知 尊敬的客户: 由于贵网站严重影响了服务器性能,因此对您的网站采取了处理措施。我们很高兴能够为您服务,但同时请您严格遵守我们签定的主机合同,以保证我们合作的正常进行,保证我们能为更多的用户提供稳定的主机服务。由于我们是对主机服务器进行实时监控的,出现问题后必须马上采取措施,否则将会导致服务器宕机,所以发出此通知信的同时,已将您的网站暂停,希望您能理解,因此给您带来的不便向您表示深深的歉意。   何谓耗资源(客户程序故障)? 即程序占用 CPU 及内存过多,是对资源的一种浪费。客户使用虚拟主机时程序编写的不合理、错误严重,造成服务器负载急剧上升,极大的影响了正常客户的使用,就是耗资源(客户程序故障)。耗资源(客户程序故障)分为耗用 CPU 资源和内存资源二种。   为什么会出现耗资源(客户程序故障)? 程序编写有问题(一般为 ASP 程序变量没有清空)。 数据库调用频繁(常见的是 Access 数据库问题)。 由于访问量或流量过大导致的耗内存问题引起的耗资源(客户程序故障)(此情况一般为大流量主机)。   耗资源(客户程序故障)的影响。 影响较轻的,会使单个客户网站访问慢。 严重的会使服务器宕机,服务器上的所有网站无法访问。   耗资源(客户程序故障)处理方法? 通过观察程度客户耗资源(客户程序故障)的程度,进行处理:  程度较轻:重启程序池或站点。  程度较重:关闭整个站点。   耗资源(客户程序故障)客户的解决办法? 发生占用资源过大问题被关停后,需要排查超额占用资源的具体链接和文件,下面介绍如何排查。 1. 从主机控制台下载关停当天的访问日志文件,具体下载路径:登录 阿里云虚拟主机管理页面 >  管理 > 文件管理 > 网站日志下载 > 下载当天的日志,通过 FTP 打开该日志: 2. 查看日志,下图为示例: 3. 具体排查方法: 站点在关停后是没有访问日志的,因此需要查看关停之前的1-2分钟的访问日志。 看服务器响应请求的时间,就是访问日志的最后一列,这里的时间单位是微秒,例如上图的示例中,访问时间不到一秒(1秒=1000000微秒),一般访问时间不应超过3秒(3000000微秒),访问时间长同样会导致并发访问量过大,适当的优化程序可以减少服务器的具体响应时间。具体访问的文件也在网站日志中有展示。如上图,如果网站访问日志中的最后一列超过3000000,也就是3秒,则需要检查和优化访问的具体文件,如上图的 test.php。  4. 如果大量的访问来自同一 IP,或是同一 IP 段,网站则可能是被攻击了。  5. 在浏览器种类这一列,如果有 Baidu,Google,Sogou,360 等字样,则表示是有搜索引擎在访问网站,如果影响网站可以配置 robots.txt 文件来禁止搜索引擎访问网站。   耗资源(客户程序故障)与大流量的区别。  大流量客户:进行大量的图片下载、广告互换、聊天等工作,造成带宽严重占用。 耗资源(客户程序故障)客户:运行自己网站程序,造成服务器负载急剧上升,造成服务器无法正常服务。 区别在与大流量客户是网络带宽方面,而耗资源(客户程序故障)客户是对服务器正常运行方面。        

2019-12-01 23:21:06 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档  耗资源(客户程序故障)停权通知 尊敬的客户: 由于贵网站严重影响了服务器性能,因此对您的网站采取了处理措施。我们很高兴能够为您服务,但同时请您严格遵守我们签定的主机合同,以保证我们合作的正常进行,保证我们能为更多的用户提供稳定的主机服务。由于我们是对主机服务器进行实时监控的,出现问题后必须马上采取措施,否则将会导致服务器宕机,所以发出此通知信的同时,已将您的网站暂停,希望您能理解,因此给您带来的不便向您表示深深的歉意。   何谓耗资源(客户程序故障)? 即程序占用 CPU 及内存过多,是对资源的一种浪费。客户使用虚拟主机时程序编写的不合理、错误严重,造成服务器负载急剧上升,极大的影响了正常客户的使用,就是耗资源(客户程序故障)。耗资源(客户程序故障)分为耗用 CPU 资源和内存资源二种。   为什么会出现耗资源(客户程序故障)? 程序编写有问题(一般为 ASP 程序变量没有清空)。 数据库调用频繁(常见的是 Access 数据库问题)。 由于访问量或流量过大导致的耗内存问题引起的耗资源(客户程序故障)(此情况一般为大流量主机)。   耗资源(客户程序故障)的影响。 影响较轻的,会使单个客户网站访问慢。 严重的会使服务器宕机,服务器上的所有网站无法访问。   耗资源(客户程序故障)处理方法? 通过观察程度客户耗资源(客户程序故障)的程度,进行处理:  程度较轻:重启程序池或站点。  程度较重:关闭整个站点。   耗资源(客户程序故障)客户的解决办法? 发生占用资源过大问题被关停后,需要排查超额占用资源的具体链接和文件,下面介绍如何排查。 1. 从主机控制台下载关停当天的访问日志文件,具体下载路径:登录 阿里云虚拟主机管理页面 >  管理 > 文件管理 > 网站日志下载 > 下载当天的日志,通过 FTP 打开该日志: 2. 查看日志,下图为示例: 3. 具体排查方法: 站点在关停后是没有访问日志的,因此需要查看关停之前的1-2分钟的访问日志。 看服务器响应请求的时间,就是访问日志的最后一列,这里的时间单位是微秒,例如上图的示例中,访问时间不到一秒(1秒=1000000微秒),一般访问时间不应超过3秒(3000000微秒),访问时间长同样会导致并发访问量过大,适当的优化程序可以减少服务器的具体响应时间。具体访问的文件也在网站日志中有展示。如上图,如果网站访问日志中的最后一列超过3000000,也就是3秒,则需要检查和优化访问的具体文件,如上图的 test.php。  4. 如果大量的访问来自同一 IP,或是同一 IP 段,网站则可能是被攻击了。  5. 在浏览器种类这一列,如果有 Baidu,Google,Sogou,360 等字样,则表示是有搜索引擎在访问网站,如果影响网站可以配置 robots.txt 文件来禁止搜索引擎访问网站。   耗资源(客户程序故障)与大流量的区别。  大流量客户:进行大量的图片下载、广告互换、聊天等工作,造成带宽严重占用。 耗资源(客户程序故障)客户:运行自己网站程序,造成服务器负载急剧上升,造成服务器无法正常服务。 区别在与大流量客户是网络带宽方面,而耗资源(客户程序故障)客户是对服务器正常运行方面。        

2019-12-01 23:21:05 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档  耗资源(客户程序故障)停权通知 尊敬的客户: 由于贵网站严重影响了服务器性能,因此对您的网站采取了处理措施。我们很高兴能够为您服务,但同时请您严格遵守我们签定的主机合同,以保证我们合作的正常进行,保证我们能为更多的用户提供稳定的主机服务。由于我们是对主机服务器进行实时监控的,出现问题后必须马上采取措施,否则将会导致服务器宕机,所以发出此通知信的同时,已将您的网站暂停,希望您能理解,因此给您带来的不便向您表示深深的歉意。   何谓耗资源(客户程序故障)? 即程序占用 CPU 及内存过多,是对资源的一种浪费。客户使用虚拟主机时程序编写的不合理、错误严重,造成服务器负载急剧上升,极大的影响了正常客户的使用,就是耗资源(客户程序故障)。耗资源(客户程序故障)分为耗用 CPU 资源和内存资源二种。   为什么会出现耗资源(客户程序故障)? 程序编写有问题(一般为 ASP 程序变量没有清空)。 数据库调用频繁(常见的是 Access 数据库问题)。 由于访问量或流量过大导致的耗内存问题引起的耗资源(客户程序故障)(此情况一般为大流量主机)。   耗资源(客户程序故障)的影响。 影响较轻的,会使单个客户网站访问慢。 严重的会使服务器宕机,服务器上的所有网站无法访问。   耗资源(客户程序故障)处理方法? 通过观察程度客户耗资源(客户程序故障)的程度,进行处理:  程度较轻:重启程序池或站点。  程度较重:关闭整个站点。   耗资源(客户程序故障)客户的解决办法? 发生占用资源过大问题被关停后,需要排查超额占用资源的具体链接和文件,下面介绍如何排查。 1. 从主机控制台下载关停当天的访问日志文件,具体下载路径:登录 阿里云虚拟主机管理页面 >  管理 > 文件管理 > 网站日志下载 > 下载当天的日志,通过 FTP 打开该日志: 2. 查看日志,下图为示例: 3. 具体排查方法: 站点在关停后是没有访问日志的,因此需要查看关停之前的1-2分钟的访问日志。 看服务器响应请求的时间,就是访问日志的最后一列,这里的时间单位是微秒,例如上图的示例中,访问时间不到一秒(1秒=1000000微秒),一般访问时间不应超过3秒(3000000微秒),访问时间长同样会导致并发访问量过大,适当的优化程序可以减少服务器的具体响应时间。具体访问的文件也在网站日志中有展示。如上图,如果网站访问日志中的最后一列超过3000000,也就是3秒,则需要检查和优化访问的具体文件,如上图的 test.php。  4. 如果大量的访问来自同一 IP,或是同一 IP 段,网站则可能是被攻击了。  5. 在浏览器种类这一列,如果有 Baidu,Google,Sogou,360 等字样,则表示是有搜索引擎在访问网站,如果影响网站可以配置 robots.txt 文件来禁止搜索引擎访问网站。   耗资源(客户程序故障)与大流量的区别。  大流量客户:进行大量的图片下载、广告互换、聊天等工作,造成带宽严重占用。 耗资源(客户程序故障)客户:运行自己网站程序,造成服务器负载急剧上升,造成服务器无法正常服务。 区别在与大流量客户是网络带宽方面,而耗资源(客户程序故障)客户是对服务器正常运行方面。        

2019-12-01 23:21:05 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档  耗资源(客户程序故障)停权通知 尊敬的客户: 由于贵网站严重影响了服务器性能,因此对您的网站采取了处理措施。我们很高兴能够为您服务,但同时请您严格遵守我们签定的主机合同,以保证我们合作的正常进行,保证我们能为更多的用户提供稳定的主机服务。由于我们是对主机服务器进行实时监控的,出现问题后必须马上采取措施,否则将会导致服务器宕机,所以发出此通知信的同时,已将您的网站暂停,希望您能理解,因此给您带来的不便向您表示深深的歉意。   何谓耗资源(客户程序故障)? 即程序占用 CPU 及内存过多,是对资源的一种浪费。客户使用虚拟主机时程序编写的不合理、错误严重,造成服务器负载急剧上升,极大的影响了正常客户的使用,就是耗资源(客户程序故障)。耗资源(客户程序故障)分为耗用 CPU 资源和内存资源二种。   为什么会出现耗资源(客户程序故障)? 程序编写有问题(一般为 ASP 程序变量没有清空)。 数据库调用频繁(常见的是 Access 数据库问题)。 由于访问量或流量过大导致的耗内存问题引起的耗资源(客户程序故障)(此情况一般为大流量主机)。   耗资源(客户程序故障)的影响。 影响较轻的,会使单个客户网站访问慢。 严重的会使服务器宕机,服务器上的所有网站无法访问。   耗资源(客户程序故障)处理方法? 通过观察程度客户耗资源(客户程序故障)的程度,进行处理:  程度较轻:重启程序池或站点。  程度较重:关闭整个站点。   耗资源(客户程序故障)客户的解决办法? 发生占用资源过大问题被关停后,需要排查超额占用资源的具体链接和文件,下面介绍如何排查。 1. 从主机控制台下载关停当天的访问日志文件,具体下载路径:登录 阿里云虚拟主机管理页面 >  管理 > 文件管理 > 网站日志下载 > 下载当天的日志,通过 FTP 打开该日志: 2. 查看日志,下图为示例: 3. 具体排查方法: 站点在关停后是没有访问日志的,因此需要查看关停之前的1-2分钟的访问日志。 看服务器响应请求的时间,就是访问日志的最后一列,这里的时间单位是微秒,例如上图的示例中,访问时间不到一秒(1秒=1000000微秒),一般访问时间不应超过3秒(3000000微秒),访问时间长同样会导致并发访问量过大,适当的优化程序可以减少服务器的具体响应时间。具体访问的文件也在网站日志中有展示。如上图,如果网站访问日志中的最后一列超过3000000,也就是3秒,则需要检查和优化访问的具体文件,如上图的 test.php。  4. 如果大量的访问来自同一 IP,或是同一 IP 段,网站则可能是被攻击了。  5. 在浏览器种类这一列,如果有 Baidu,Google,Sogou,360 等字样,则表示是有搜索引擎在访问网站,如果影响网站可以配置 robots.txt 文件来禁止搜索引擎访问网站。   耗资源(客户程序故障)与大流量的区别。  大流量客户:进行大量的图片下载、广告互换、聊天等工作,造成带宽严重占用。 耗资源(客户程序故障)客户:运行自己网站程序,造成服务器负载急剧上升,造成服务器无法正常服务。 区别在与大流量客户是网络带宽方面,而耗资源(客户程序故障)客户是对服务器正常运行方面。        

2019-12-01 23:21:06 0 浏览量 回答数 0

问题

ECS主机上大量生成Photo.scr 求助高手及管理如何根治

总是很无助 2019-12-01 21:19:30 4048 浏览量 回答数 1

问题

服务器出现宕机可能的原因及解决方法

dd防护专家 2019-12-01 21:24:52 1336 浏览量 回答数 0

回答

概述 当客户端访问目标服务器出现ping丢包或ping不通时,可以通过tracert或mtr等工具进行链路测试来判断问题根源。本文介绍如何通过工具进行链路测试和分析。 详细信息 阿里云提醒您: 如果您对实例或数据有修改、变更等风险操作,务必注意实例的容灾、容错能力,确保数据安全。 如果您对实例(包括但不限于ECS、RDS)等进行配置与数据修改,建议提前创建快照或开启RDS日志备份等功能。 如果您在阿里云平台授权或者提交过登录账号、密码等安全信息,建议您及时修改。 本文分别介绍如下链路测试方法。 链路测试工具 测试结果的简要分析 常见的链路异常场景 链路测试步骤 测试完成后的解决方法 链路测试工具 操作系统类型不同,链路测试所使用的工具也有所不同。简要介绍如下。 Linux系统 此处简单介绍两个链路测试工具。 工具一:mtr命令 mtr(My traceroute)几乎是所有Linux发行版本预装的网络测试工具。其将ping和traceroute的功能合并,所以功能更强大。mtr默认发送ICMP数据包进行链路探测。您也可以通过“-u”参数来指定使用UDP数据包进行探测。相对于traceroute只会做一次链路跟踪测试,mtr会对链路上的相关节点做持续探测并给出相应的统计信息。所以,mtr能避免节点波动对测试结果的影响,所以其测试结果更正确,建议优先使用。 用法说明 mtr [-BfhvrwctglxspQomniuT46] [--help] [--version] [--report] [--report-wide] [--report-cycles=COUNT] [--curses] [--gtk] [--csv|-C] [--raw] [--xml] [--split] [--mpls] [--no-dns] [--show-ips] [--address interface] [--filename=FILE|-F] [--ipinfo=item_no|-y item_no] [--aslookup|-z] [--psize=bytes/-s bytes] [--order fields] [--report-wide|-w] [--inet] [--inet6] [--max-ttl=NUM] [--first-ttl=NUM] [--bitpattern=NUM] [--tos=NUM] [--udp] [--tcp] [--port=PORT] [--timeout=SECONDS] [--interval=SECONDS] HOSTNAME 常见可选参数说明 --report:以报告模式显示输出。 --split:将每次追踪的结果分别列出来,而非统计整个结果。 --psize:指定ping数据包的大小。 --no-dns:不对IP地址做域名反解析。 --address:主机有多个IP地址时,设置发送数据包的IP地址。 -4:只使用IPv4协议。 -6:只使用IPv6协议。 另外,也可以在mtr运行过程中,输入类似如下的字母来快速切换模式。 ?或h:显示帮助菜单。 d:切换显示模式。 n:启用或禁用DNS域名解析。 u:切换使用ICMP或UDP数据包进行探测。 命令输出示例 返回结果说明 默认配置下,返回结果中各数据列的说明如下。 第一列(Host):节点IP地址和域名。按 n 键可切换显示。 第二列(Loss%):节点丢包率。 第三列(Snt):每秒发送数据包数。默认值是10,可以通过“-c”参数指定。 第四列(Last):最近一次的探测延迟。 第五、六、七列(Avg、Best、Worst):分别是探测延迟的平均值、最小值和最大值。 第八列(StDev):标准偏差。越大说明相应节点越不稳定。 工具二:traceroute命令 traceroute也是几乎所有Linux发行版本预装的网络测试工具,用于跟踪Internet协议(IP)数据包传送到目标地址时经过的路径。traceroute先发送小的具有最大存活时间值(Max_TTL)的UDP探测数据包,然后侦听从网关开始的整个链路上的ICMP TIME_EXCEEDED响应。探测从TTL=1开始,TTL值逐步增加,直至接收到ICMP PORT_UNREACHABLE消息。ICMP PORT_UNREACHABLE消息用于标识目标主机已经被定位,或命令已经达到允许跟踪的最大TTL值。traceroute默认发送UDP数据包进行链路探测。可以通过“-I”参数来指定使用ICMP数据包进行探测。 用法说明 traceroute [-I] [ -m Max_ttl ] [ -n ] [ -p Port ] [ -q Nqueries ] [ -r ] [ -s SRC_Addr ] [ -t TypeOfService ] [ -f flow ] [ -v ] [ -w WaitTime ] Host [ PacketSize ] 常见可选参数说明 -d:使用Socket层级的排错功能。 -f:设置第一个检测数据包的存活数值TTL的大小。 -F:设置不要分段标识。 -g:设置来源路由网关,最多可设置8个。 -i:主机有多个网卡时,使用指定的网卡发送数据包。 -I:使用ICMP数据包替代UDP数据包进行探测。 -m:设置检测数据包的最大存活数值TTL的大小。 -n:直接使用IP地址而非主机名称(禁用DNS反查)。 -p:设置UDP传输协议的通信端口。 -r:忽略普通的Routing Table,直接将数据包发送到目标主机上。 -s:设置本地主机发送数据包的IP地址。 -t:设置检测数据包的TOS数值。 -v:详细显示指令的执行过程。 -w:设置等待远端主机回包时间。 -x:开启或关闭数据包的正确性检验。 命令输出示例 Windows系统 此处简单介绍两个链路测试工具。 工具一:WinMTR(建议优先使用) WinMTR是mtr工具在Windows环境下的图形化实现,但进行了功能简化,只支持部分mtr的参数。WinMTR默认发送ICMP数据包进行探测,无法切换。和mtr一样,相比tracert,WinMTR能避免节点波动对测试结果的影响,所以测试结果更正确。所以在WinMTR可用的情况下,建议优先使用WinMTR进行链路测试。 用法说明 WinMTR无需安装,直接解压运行即可。操作方法非常简单,说明如下。 如下图所示,运行程序后,在 Host 字段输入目标服务器域名或IP,注意不要包含空格。 单击 Start 开始测试。开始测试后,相应按钮变成了 Stop。 运行一段时间后,单击 Stop 停止测试。 其它选项说明如下。 Copy Text to clipboard:将测试结果以文本格式复制到粘贴板。 Copy HTML to clipboard:将测试结果以HTML格式复制到粘贴板。 Export TEXT:将测试结果以文本格式导出到指定文件。 Export HTML:将测试结果以HTML格式导出到指定文件。 Options:可选参数,包括的可选参数如下。 Interval(sec):每次探测的间隔(过期)时间。默认为1秒。 ping size(bytes):ping探测所使用的数据包大小,默认为64字节。 Max hosts in LRU list:LRU列表支持的最大主机数,默认值为128。 Resolve names:通过反查IP地址,以域名显示相关节点。 返回结果说明 默认配置下,返回结果中各数据列的说明如下。 第一列(Hostname):节点的IP或域名。 第二列(Nr):节点编号。 第三列(Loss%):节点丢包率。 第四列(Sent):已发送的数据包数量。 第五列(Recv):已成功接收的数据包数量。 第六、七、八、九列(Best 、Avg、Worst、Last):分别是到相应节点延迟的最小值、平均值、最大值和最后一次值。 工具二:tracert命令行工具 tracert(Trace Route)是Windows自带的网络诊断命令行程序,用于跟踪Internet协议(IP)数据包传送到目标地址时经过的路径。 tracert通过向目标地址发送 ICMP 数据包来确定到目标地址的路由。在这些数据包中,tracert使用了不同的IP“生存期”,即TTL值。由于要求沿途的路由器在转发数据包前必须至少将TTL减少1,因此TTL实际上相当于一个跃点计数器(hop counter)。当某个数据包的TTL达到0时,相应节点就会向源计算机发送一个ICMP超时的消息。 tracert第一次发送TTL为1的数据包,并在每次后续传输时将TTL增加1,直到目标地址响应或达到TTL的最大值。中间路由器发送回来的ICMP超时消息中包含了相应节点的信息。 用法说明 tracert [-d] [-h maximum_hops] [-j host-list] [-w timeout] [-R] [-S srcaddr] [-4] [-6] target_name 常见可选参数说明 -d:不要将地址解析为主机名(禁用DNS反解)。 -h:maximum_hops,指定搜索目标地址时的最大跃点数。 -j: host-list,指定沿主机列表的松散源路由。 -w:timeout,等待每个回复的超时时间(以毫秒为单位)。 -R:跟踪往返行程路径(仅适用于IPv6)。 -S:srcaddr,要使用的源地址(仅适用于IPv6)。 -4:强制使用IPv4。 -6:强制使用IPv6。 target_host:目标主机域名或IP地址。 命令输出示例 C:> tracert -d 223.5.5.5 通过最多 30 个跃点跟踪到 223.5.5.5 的路由 1 请求超时。 2 9 ms 3 ms 12 ms 192.168.X.X 3 4 ms 9 ms 2 ms X.X.X.X 4 9 ms 2 ms 1 ms XX.XX.XX.XX 5 11 ms 211.XX.X.XX 6 3 ms 2 ms 2 ms 2XX.XX.1XX.XX 7 2 ms 2 ms 1 ms 42.XX.2XX.1XX 8 32 ms 4 ms 3 ms 42.XX.2XX.2XX 9 请求超时。 10 3 ms 2 ms 2 ms 223.5.5.5 跟踪完成。 测试结果的简要分析 由于mtr(WinMTR)有更高的准确性,本文以其测试结果为例,参考如下要点进行分析。此处分析时以如下示例图为基础。 要点一:网络区域 正常情况下,从客户端到目标服务器的整个链路中会包含如下区域。 客户端本地网络,即本地局域网和本地网络提供商网络。如上图中的区域A。如果该区域出现异常,并且是客户端本地网络中的节点出现异常,则需要对本地网络进行相应的排查分析。如果是本地网络提供商网络出现异常,则需要向当地运营商反馈问题。 运营商骨干网络。如上图中的区域B。如果该区域出现异常,可以根据异常节点的IP查询其所属的运营商,直接向对应运营商进行反馈,或者通过阿里云技术支持,向运营商进行反馈。 目标服务器本地网络,即目标服务器所属提供商的网络。如上图中的区域C。如果该区域出现异常,需要向目标服务器所属的网络运营商反馈问题。 要点二:链路负载均衡 如上图中的区域D。如果中间链路某些部分启用了链路负载均衡,则mtr只会对首尾节点进行编号和探测统计。中间节点只会显示相应的IP或域名信息。 要点三:结合Avg(平均值)和StDev(标准偏差)综合判断 由于链路抖动或其它因素的影响,节点的Best和Worst值可能相差很大。Avg统计了自链路测试以来所有探测的平均值,所以能更好的反应出相应节点的网络质量。而StDev越高,则说明数据包在相应节点的延时值越不相同,即越离散。所以标准偏差值可用于协助判断Avg是否真实反应了相应节点的网络质量。例如,如果标准偏差很大,说明数据包的延迟是不确定的。可能某些数据包延迟很小,例如25ms,而另一些延迟却很大,例如350ms,但最终得到的平均延迟反而可能是正常的。所以,此时Avg并不能很好的反应出实际的网络质量情况。 综上,建议的分析标准如下。 如果StDev很高,则同步观察相应节点的Best和Worst,来判断相应节点是否存在异常。 如果StDev不高,则通过Avg来判断相应节点是否存在异常。 注:上述StDev高或者不高,并没有具体的时间范围标准。而需要根据同一节点其它列的延迟值大小来进行相对评估。比如,如果Avg为30ms,那么,当StDev为25ms,则认为是很高的偏差。而如果Avg为325ms,则StDev同样为25ms,反而认为是不高的偏差。 要点四:Loss%(丢包率)的判断 任一节点的Loss%(丢包率)如果不为零,则说明这一跳网络可能存在问题。导致相应节点丢包的原因通常有如下两种。 运营商基于安全或性能需求,限制了节点的ICMP发送速率,导致丢包。 节点确实存在异常,导致丢包。 结合异常节点及其后续节点的丢包情况,并参考如下内容,判定丢包原因。 如果随后节点均没有丢包,则通常表示异常节点丢包是由于运营商策略限制所致。可以忽略相关丢包。如上图中的第2跳所示。 如果随后节点也出现丢包,则通常说明异常节点确实存在网络异常,导致丢包。如上图中的第5跳所示。 另外,上述两种情况可能同时发生,即相应节点既存在策略限速,又存在网络异常。对于这种情况,如果异常节点及其后续节点连续出现丢包,而且各节点的丢包率不同,则通常以最后几跳的丢包率为准。如上图所示,在第 5、6、7跳均出现了丢包。所以,最终丢包情况,以第7跳的40%作为参考。 要点五:关于延迟 关于延迟,有如下两种场景。 场景一:延迟跳变 如果在某一跳之后延迟明显陡增,则通常判断该节点存在网络异常。如上图所示,从第5跳之后的后续节点延迟明显陡增,则推断是第5跳节点出现了网络异常。不过,高延迟并不一定完全意味着相应节点存在异常。如上图所示,第5跳之后,虽然后续节点延迟明显陡增,但测试数据最终仍然正常到达了目的主机。所以,延迟大也有可能是在数据回包链路中引发的。所以,需要结合反向链路测试一并分析。 场景二:ICMP限速导致延迟增加 ICMP策略限速也可能会导致相应节点的延迟陡增,但后续节点通常会恢复正常。如上图所示,第3跳有100%的丢包率,同时延迟也明显陡增。但随后节点的延迟马上恢复了正常。所以判断该节点的延迟陡增及丢包是由于策略限速所致。 常见的链路异常场景 常见的链路异常场景及测试报告如下。 场景一:目标主机网络配置不当 示例数据如下。 [root@mycentos6 ~]# mtr —no-dns www.google.com My traceroute [v0.75] mycentos6.6 (0.0.0.0) Wed Jun 15 19:06:29 2016 Keys: Help Display mode Packets Pings Host Loss% Snt Last Avg Best Wrst StDev 1. ??? 2. ??? 3. 1XX.X.X.X 0.0% 10 521.3 90.1 2.7 521.3 211.3 4. 11X.X.X.X 0.0% 10 2.9 4.7 1.6 10.6 3.9 5. 2X.X.X.X 80.0% 10 3.0 3.0 3.0 3.0 0.0 6. 2X.XX.XX.XX 0.0% 10 1.7 7.2 1.6 34.9 13.6 7. 1XX.1XX.XX.X 0.0% 10 5.2 5.2 5.1 5.2 0.0 8. 2XX.XX.XX.XX 0.0% 10 5.3 5.2 5.1 5.3 0.1 9. 173.194.200.105 100.0% 10 0.0 0.0 0.0 0.0 0.0 在该示例中,数据包在目标地址出现了100%的丢包。从数据上看是数据包没有到达,其实很有可能是目标服务器相关安全策略(比如防火墙、iptables 等)禁用了ICMP所致,导致目的主机无法发送任何应答。所以,该场景需要排查目标服务器的安全策略配置。 场景二:ICMP限速 示例数据如下。 [root@mycentos6 ~]# mtr --no-dns www.google.com My traceroute [v0.75] mycentos6.6 (0.0.0.0) Wed Jun 15 19:06:29 2016 Keys: Help Display mode Packets Pings Host Loss% Snt Last Avg Best Wrst StDev 1. 63.247.X.X 0.0% 10 0.3 0.6 0.3 1.2 0.3 2. 63.247.X.XX 0.0% 10 0.4 1.0 0.4 6.1 1.8 3. 209.51.130.213 0.0% 10 0.8 2.7 0.8 19.0 5.7 4. aix.pr1.atl.google.com 0.0% 10 6.7 6.8 6.7 6.9 0.1 5. 72.14.233.56 60.0% 10 27.2 25.3 23.1 26.4 2.9 6. 209.85.254.247 0.0% 10 39.1 39.4 39.1 39.7 0.2 7. 64.233.174.46 0.0% 10 39.6 40.4 39.4 46.9 2.3 8. gw-in-f147.1e100.net 0.0% 10 39.6 40.5 39.5 46.7 2.2 在该示例中,在第5跳出现了明显的丢包,但后续节点均未见异常。所以推断是该节点ICMP限速所致。该场景对最终客户端到目标服务器的数据传输不会有影响,所以,分析的时候可以忽略。 场景三:环路 示例数据如下。 [root@mycentos6 ~]# mtr —no-dns www.google.com My traceroute [v0.75] mycentos6.6 (0.0.0.0) Wed Jun 15 19:06:29 2016 Keys: Help Display mode Packets Pings Host Loss% Snt Last Avg Best Wrst StDev 1. 63.247.7X.X 0.0% 10 0.3 0.6 0.3 1.2 0.3 2. 63.247.6X.X 0.0% 10 0.4 1.0 0.4 6.1 1.8 3. 209.51.130.213 0.0% 10 0.8 2.7 0.8 19.0 5.7 4. aix.pr1.atl.google.com 0.0% 10 6.7 6.8 6.7 6.9 0.1 5. 72.14.233.56 0.0% 10 0.0 0.0 0.0 0.0 0.0 6. 72.14.233.57 0.0% 10 0.0 0.0 0.0 0.0 0.0 7. 72.14.233.56 0.0% 10 0.0 0.0 0.0 0.0 0.0 8. 72.14.233.57 0.0% 10 0.0 0.0 0.0 0.0 0.0 9 ??? 0.0% 10 0.0 0.0 0.0 0.0 0.0 在该示例中,数据包在第5跳之后出现了循环跳转,导致最终无法到达目标服务器。这通常是由于运营商相关节点路由配置异常所致。所以,该场景需要联系相应节点归属运营商处理。 场景四:链路中断 示例数据如下。 [root@mycentos6 ~]# mtr —no-dns www.google.com My traceroute [v0.75] mycentos6.6 (0.0.0.0) Wed Jun 15 19:06:29 2016 Keys: Help Display mode Packets Pings Host Loss% Snt Last Avg Best Wrst StDev 1. 63.247.7X.X 0.0% 10 0.3 0.6 0.3 1.2 0.3 2. 63.247.6X.X 0.0% 10 0.4 1.0 0.4 6.1 1.8 3. 209.51.130.213 0.0% 10 0.8 2.7 0.8 19.0 5.7 4. aix.pr1.atl.google.com 0.0% 10 6.7 6.8 6.7 6.9 0.1 5. ??? 0.0% 10 0.0 0.0 0.0 0.0 0.0 6. ??? 0.0% 10 0.0 0.0 0.0 0.0 0.0 7. ??? 0.0% 10 0.0 0.0 0.0 0.0 0.0 8. ??? 0.0% 10 0.0 0.0 0.0 0.0 0.0 9 ??? 0.0% 10 0.0 0.0 0.0 0.0 0.0 在该示例中,数据包在第4跳之后就无法收到任何反馈。这通常是由于相应节点中断所致。建议结合反向链路测试做进一步确认。该场景需要联系相应节点归属运营商处理。 链路测试步骤 通常情况下,链路测试步骤如下图所示。 相关步骤的详情说明如下。 步骤一:获取本地网络对应的公网IP 在客户端本地网络内访问淘宝IP地址库,获取本地网络对应的公网IP地址。 步骤二:正向链路测试(ping和mtr) 从客户端向目标服务器做如下测试。 从客户端向目标服务器域名或IP做持续的ping测试,建议至少ping 100个数据包,记录测试结果。 根据客户端操作系统的不同,使用WinMTR或mtr,设置测试目的地址为目标服务器域名或IP,然后进行链路测试,记录测试结果。 步骤三:反向链路测试(ping和mtr) 进入目标服务器系统内部做如下测试。 从目标服务器向步骤一获取的客户端IP做持续的ping测试,建议至少ping 100个数据包,记录测试结果。 根据目标服务器操作系统的不同,使用WinMTR或mtr,设置测试目的地址为客户端的IP地址,然后进行链路测试,记录测试结果。 步骤四:测试结果分析 参阅测试结果的简要分析,对测试结果进行分析。确认异常节点后,访问如下链接或其他可以查询IP归属地的网站,获取该异常节点的归属运营商信息。如果是客户端本地网络相关节点出现异常,则需要对本地网络进行相应排查分析。如果是运营商相关节点出现异常,则需要向运营商反馈问题。查询结果类似如下。 测试完成后的解决方法 当出现ping丢包或ping不通时,首先请参考云服务器ECS网络故障诊断,排查是否为网络故障。 如果确认是因系统中病毒导致使用ping命令测试ECS实例的IP地址间歇性丢包,则可参考使用ping命令测试ECS实例的IP地址间歇性丢包进行处理。 如果是因删除ECS实例的默认安全组规则导致无法ping通ECS实例,可参考删除ECS实例的默认安全组规则导致无法ping通ECS实例进行处理。 如果在Linux系统内核没有禁PING的情况下,是因系统内部防火墙策略设置导致ECS服务器PING不通。可参考Linux系统的ECS中没有禁PING却PING不通的解决方法。

1934890530796658 2020-03-25 23:17:54 0 浏览量 回答数 0

问题

干货分享:DBA专家门诊一期:索引与sql优化问题汇总

xiaofanqie 2019-12-01 21:24:21 74007 浏览量 回答数 38

回答

回2楼啊里新人的帖子 在日常的业务开发中,常见使用到索引的地方大概有两类: 第一类.做业务约束需求,比如需要保证表中每行的单个字段或者某几个组合字段是唯一的,则可以在表中创建唯一索引; 比如:需要保证test表中插入user_id字段的值不能出现重复,则在设计表的时候,就可以在表中user_id字段上创建一个唯一索引: CREATE TABLE `test` (   `id` int(11) NOT NULL AUTO_INCREMENT,   `user_id` int(11) NOT NULL,   `gmt_create` datetime DEFAULT NULL,   PRIMARY KEY (`id`),   UNIQUE KEY `uk_userid` (`user_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 ; 第二类.提高SQL语句执行速度,可以根据SQL语句的查询条件在表中创建合适的索引,以此来提升SQL语句的执行速度; 此过程好比是去图书找一本书,最慢的方法就是从图书馆的每一层楼每一个书架一本本的找过去;快捷一点的方法就是先通过图书检索来确认这一本书在几楼那个书架上,然后直接去找就可以了;当然创建这个索引也需要有一定的代价,需要存储空间来存放,需要在数据行插入,更新,删除的时候维护索引: 例如: CREATE TABLE `test_record` (   `id` int(11) NOT NULL AUTO_INCREMENT,   `user_id` int(11) NOT NULL,   `gmt_create` datetime DEFAULT NULL,   PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=5635996 DEFAULT CHARSET=utf8 该表有500w的记录,我需要查询20:00后插入的记录有多少条记录: mysql> select count(*) from test_record where gmt_create>'2014-12-17 20:00:00'; +----------+ | count(*) | +----------+ |        1 | +----------+ 1 row in set (1.31 sec) 可以看到查询耗费了1.31秒返回了1行记录,如果我们在gmt_create字段上添加索引: mysql> alter table test_record add index ind_gmt_create(gmt_create); Query OK, 0 rows affected (21.87 sec) Records: 0  Duplicates: 0  Warnings: 0 mysql> select count(*) from test_record where gmt_create>'2014-12-17 20:00:00'; +----------+ | count(*) | +----------+ |        1 | +----------+ 1 row in set (0.01 sec) 查询只消耗了0.01秒中就返回了记录. 总的来说,为SQL语句(select,update,delete)创建必要的索引是必须的,这样虽然有一定的性能和空间消耗,但是是值得,尤其是在大并发的请求下,大量的数据被扫描造成系统IO和CPU资源消耗完,进而导致整个数据库不可服务. ------------------------- 怎么学好数据库是一个比较大题目,数据库不仅仅是写SQL那么简单,即使知道了SQL怎么写,还需要很清楚的知道这条SQL他大概扫描了多少数据,返回多少数据,是否需要创建索引。至于SQL优化是一个比较专业的技术活,但是可以通过学习是可以掌握的,你可以把一条sql从执行不出来优化到瞬间完成执行,这个过程的成就感是信心满满的。学习的方法可以有以下一些过程:1、自己查资料,包括书本,在线文档,google,别人的总结等等,试图自己解决2、多做实验,证明自己的想法以及判断3、如果实在不行,再去论坛问,或者问朋友4、如果问题解决了,把该问题的整个解决方法记录下来,以备后来的需要5、多关注别人的问题,或许以后自己就遇到了,并总是试图去多帮助别人6、习惯从多个方面去考虑问题,并且养成良好的总结习惯 下面是一些国内顶级数据库专家学习数据库的经验分享给大家: http://www.eygle.com/archives/2005/08/ecinieoracleouo.html 其实学习任何东西都是一样,没有太多的捷径可走,必须打好了坚实的基础,才有可以在进一步学习中得到快速提高。王国维在他的《人间词话》中曾经概括了为学的三种境界,我在这里套用一下: 古今之成大事业、大学问者,罔不经过三种之境界。"昨夜西风凋碧树。独上高楼,望尽天涯路。"此第一境界也。"衣带渐宽终不悔,为伊消得人憔悴。"此第二境界也。"众里寻他千百度,蓦然回首,那人却在灯火阑珊处。"此第三境界也。 学习Oracle,这也是你必须经历的三种境界。 第一层境界是说,学习的路是漫漫的,你必须做好充分的思想准备,如果半途而废还不如不要开始。 这里,注意一个"尽"字,在开始学习的过程中,你必须充分阅读Oracle的基础文档,概念手册、管理手册、备份恢复手册等(这些你都可以在http://tahiti.oracle.com 上找到);OCP认证的教材也值得仔细阅读。打好基础之后你才具备了进一步提升的能力,万丈高楼都是由地而起。 第二层境界是说,尽管经历挫折、打击、灰心、沮丧,也都要坚持不放弃,具备了基础知识之后,你可以对自己感兴趣或者工作中遇到的问题进行深入的思考,由浅入深从来都不是轻而易举的,甚至很多时候你会感到自己停滞不前了,但是不要动摇,学习及理解上的突破也需要时间。 第三次境界是说,经历了那么多努力以后,你会发现,那苦苦思考的问题,那百思不得其解的算法原理,原来答案就在手边,你的思路豁然开朗,宛如拨云见月。这个时候,学习对你来说,不再是个难题,也许是种享受,也许成为艺术。 所以如果你想问我如何速成,那我是没有答案的。 不经一番寒彻骨,哪得梅花扑鼻香。 当然这三种境界在实际中也许是交叉的,在不断的学习中,不断有蓦然回首的收获。 我自己在学习的过程中,经常是采用"由点及面法"。 当遇到一个问题后,一定是深入下去,穷究根本,这样你会发现,一个简单的问题也必定会带起一大片的知识点,如果你能对很多问题进行深入思考和研究,那么在深处,你会发现,这些面逐渐接合,慢慢的延伸到oracle的所有层面,逐渐的你就能融会贯通。这时候,你会主动的去尝试全面学习Oracle,扫除你的知识盲点,学习已经成为一种需要。 由实践触发的学习才最有针对性,才更能让你深入的理解书本上的知识,正所谓:" 纸上得来终觉浅,绝知此事要躬行"。实践的经验于我们是至为宝贵的。 如果说有,那么这,就是我的捷径。 想想自己,经常是"每有所获,便欣然忘食", 兴趣才是我们最好的老师。 Oracle的优化是一门学问,也是一门艺术,理解透彻了,你会知道,优化不过是在各种条件之下做出的均衡与折中。 内存、外存;CPU、IO...对这一切你都需要有充分的认识和相当的了解,管理数据库所需要的知识并不单纯。 作为一个数据库管理人员,你需要做的就是能够根据自己的知识以及经验在各种复杂情况下做出快速正确的判断。当问题出现时,你需要知道使用怎样的手段发现问题的根本;找到问题之后,你需要运用你的知识找到解决问题的方法。 这当然并不容易,举重若轻还是举轻若重,取决于你具备怎样的基础以及经验积累。 在网络上,Howard J. Rogers最近创造了一个新词组:Voodoo Tuning,用以形容那些没有及时更新自己的知识技能的所谓的Oracle技术专家。由于知识的陈旧或者理解的肤浅,他们提供的很多调整建议是错误的、容易使人误解的,甚至是荒诞的。他们提供的某些建议在有些情况下也许是正确的,如果你愿意回到Oracle5版或者6版的年代;但是这些建议在Oracle7.0,8.0 或者 Oracle8i以后往往是完全错误的。 后来基于类似问题触发了互联网内Oracle顶级高手的一系列深入讨论,TOM、Jonathan Lewis、HJR等人都参与其中,在我的网站上(www.eygle.com )上对这些内容及相关链接作了简要介绍,有兴趣的可以参考。 HJR给我们提了很好的一个提示:对你所需要调整的内容,你必须具有充分的认识,否则你做出的判断就有可能是错误的。 这也是我想给自己和大家的一个建议: 学习和研究Oracle,严谨和认真必不可少。 当然 你还需要勤奋,我所熟悉的在Oracle领域有所成就的技术人员,他们共同的特点就是勤奋。 如果你觉得掌握的东西没有别人多,那么也许就是因为,你不如别人勤奋。 要是你觉得这一切过于复杂了,那我还有一句简单的话送给大家: 不积跬步,无以至千里。学习正是在逐渐积累过程中的提高。 现在Itpub给我们提供了很好的交流场所,很多问题都可以在这里找到答案,互相讨论,互相学习。这是我们的幸运,我也因此非常感谢这个网络时代。 参考书籍: 如果是一个新人可以先买一些基本的入门书籍,比如MySQL:《 深入浅出MySQL——数据库开发、优化与管理维护 》,在进阶一点的就是《 高性能MySQL(第3版) 》 oracle的参考书籍: http://www.eygle.com/archives/2006/08/oracle_fundbook_recommand.html 最后建议不要在数据库中使用外键,让应用程序来保证。 ------------------------- Re:回 9楼(千鸟) 的帖子 我有一个问题想问问,现在在做一个与图书有关的项目,其中有一个功能是按图书书名搜索相似图书列表,问题不难,但是想优化一下,有如下问题想请教一下: 1、在图书数据库数据表的书名字段里,按图书书名进行关键字搜索,如何快速搜索相关的图书?   现在由于数据不多,直接用的like模糊查找验证功能而已; 如果数据量不大,是可以在数据库中完成搜索的,可以在搜索字段上创建索引,然后进行搜索查询: CREATE TABLE `book` (   `book_id` int(11) NOT NULL AUTO_INCREMENT,   `book_name` varchar(100) NOT NULL,   .............................   PRIMARY KEY (`book_id`),   KEY `ind_name` (`book_name`) ) ENGINE=InnoDB select book.*  from book , (select book_id from book where book_name like '%算法%')  book_search_id  where book.book_id=book_search_id.book_id; 但是当数据量变得很大后,就不在适合了,可以采用一些其他的第三方搜索技术比如sphinx; 2、如何按匹配的关键度进行快速排序?比如搜索“算法”,有一本书是《算法》,另一本书是《算法设计》,要求前者排在更前面。 现在的排序是根据数据表中的主键序号id进行的排序,没有达到想要的效果。 root@127.0.0.1 : test 15:57:12> select book_id,book_name from book_search where book_name like '%算%' order by book_name; +---------+--------------+ | book_id | book_name    | +---------+--------------+ |       2 | 算法       | |       1 | 算法设计 | ------------------------- 回 10楼(大黑豆) 的帖子 模糊查询分为半模糊和全模糊,也就是: select * from book where name like 'xxx%';(半模糊) select * from book where name like '%xxx%';(全模糊) 半模糊可以可以使用到索引,全模糊在上面场景是不能使用到索引的,但可以进行一些改进,比如: select book.*  from book , (select book_id from book where book_name like '%算法%')  book_search_id   where book.book_id=book_search_id.book_id; 注意这里book_id是主键,同时在book_name上创建了索引 上面的sql语句可以利用全索引扫描来完成优化,但是性能不会太好;特别在数据量大,请求频繁的业务场景下不要在数据库进行模糊查询; 非得使用数据库的话 ,建议不要在生产库进行查询,可以在只读节点进行查询,避免查询造成主业务数据库的资源消耗完,导致故障. 可以使用一些开源的搜索引擎技术,比如sphinx. ------------------------- 回 11楼(蓝色之鹰) 的帖子 我想问下,sql优化一般从那几个方面入手?多表之间的连接方式:Nested Loops,Hash Join 和 Sort Merge Join,是不是Hash Join最优连接? SQL优化需要了解优化器原理,索引的原理,表的存储结构,执行计划等,可以买一本书来系统的进行学习,多多实验; 不同的数据库优化器的模型不一样,比如oracle支持NL,HJ,SMJ,但是mysql只支持NL,不通的连接方式适用于不同的应用场景; NL:对于被连接的数据子集较小的情况,嵌套循环连接是个较好的选择 HJ:对于列连接是做大数据集连接时的常用方式 SMJ:通常情况下散列连接的效果都比排序合并连接要好,然而如果行源已经被排过序,在执行排序合并连接时不需要再排序了,这时排序合并连接的性能会优于散列连接 ------------------------- Re:回 19楼(原远) 的帖子 有个问题:分类表TQueCategory,问题表TQuestion(T-SQL) CREATE TABLE TQueCategory ( ID INT IDENTITY(1,1) PRIMARY KEY,        --问题分类ID NAME VARCHAR(20)        --问题分类名称 ) CREATE TABLE TQuestion ( ID INT IDENTITY(1,1) PRIMARY KEY,        --问题ID CateID INT NOT NULL,        --问题分类ID TITLE VARCHAR(50),        --问题标题 CONTENT VARCHAR(500)        --问题内容 ) 当前要统计某个分类下的问题数,有两种方式: 1.每次统计,在TQuestion通过CateID进行分组统计 SELECT CateID,COUNT(1) AS QueNum FROM TQuestion GROUP BY CateID WHERE 1=1 2.在TQueCategory表增加字段QueNum,用于标识该分类下的问题数量 ALTER TABLE TQueCategory ADD QueNum INT SELECT CateID,QueNum FROM TQueCategory 问:在哪种业务应用场景下采用上面哪种方式性能比较好,为什么? ############################################################################################### 方案 一 需要对 TQuestion 的 CateID字段 进行分组 ,可以在 CateID上创建一个索引,这样就可以索引扫描来完成查询; 方案 二 需要对 TQueCategory 进行扫描就可以得出结果,但是必须在问题表有插入,删除的时候维护quenum数量; 单单从SQL的性能来看, 分类表的数量应该是远远小于问题表的数量的,所以方案二的性能会比较好; 但是如果 TQuestion 的插入非常频繁的话,会带来对 TQueCategory的频繁更新,一次 TQuestion 的 insert或deleted就会带来一次 TQueCategory 的update,这个代价其实是蛮高的; 如果这个分类统计的查询不是非常频繁的话,建议还是使用方案一; 同时还可能还会其他的业务逻辑统计需求(例如: CateID +时间),这个时候在把逻辑放到 TQueCategory就不合适了。 ------------------------- 回 20楼(原远) 的帖子 经验之谈,仅供参考 使用外键在开发上确实省去了很多功夫,但是把业务逻辑交由数据库来完成,对后期的维护来说是很麻烦的事情,不利于维护. ------------------------- 回 21楼(玩站网) 的帖子 无关技术方面: 咨询一下,现在mysql新的版本,5.5.45后貌似修改了开源协议。 是否意味着今后我们商业化使用mysql将受到限制? 如果甲骨文真周到那一步,rds是否会受到影响? 一个疑惑: 为什么很少见到有人用mysql正则匹配?性能不好还是什么原因? ######################################## MySQL有商业版 和 社区版,RDS的MySQL采用开源的社区版进行改进,由专门的RDS MySQL源码团队来维护,国内TOP 10的mysql源码贡献者大部分都在RDS,包括了@丁奇 ,@彭立勋 ,@印风 等; 不在数据库中做业务计算,是保证数据库运行稳定的一个好的设计经验; 是否影响性能与你的sql的执行频率,需要参与的计算数据量相关,当然了还包括数据库所在主机的IO,cpu,内存等资源,离开了这些谈性能是没有多大意义的; ------------------------- 回 22楼(比哥) 的帖子 分页该怎么优化才行??? ######################### 可以参考这个链接,里面有很多的最佳实践,其中就包括了分页语句的优化: http://bbs.aliyun.com/read/168647.html?spm=5176.7114037.1996646101.1.celwA1&pos=1 普通写法: select  *  from t where sellerid=100 limit 100000,20 普通limit M,N的翻页写法,往往在越往后翻页的过程中速度越慢,原因 mysql会读取表中的前M+N条数据,M越大,性能就越差: 优化写法: select t1.* from  t t1,             (select id from t  sellerid=100 limit 100000,20) t2 where t1.id=t2.id; 优化后的翻页写法,先查询翻页中需要的N条数据的主键id,在根据主键id 回表查询所需要的N条数据,此过程中查询N条数据的主键ID在索引中完成 注意:需要在t表的sellerid字段上创建索引 create index ind_sellerid on t(sellerid); 案例: user_A (21:42:31): 这个sql该怎么优化,执行非常的慢: | Query   |   51 | Sending data | select id, ... from t_buyer where sellerId = 765922982 and gmt_modified >= '1970-01-01 08:00:00' and gmt_modified <= '2013-06-05 17:11:31' limit 255000, 5000 SQL改写:selectt2.* from (selectid from t_buyer where sellerId = 765922982   andgmt_modified >= '1970-01-01 08:00:00'   andgmt_modified <= '2013-06-05 17:11:31' limit255000, 5000)t1,t_buyer t2 where t1.id=t2.id index:seller_id,gmt_modified user_A(21:58:43): 好像很快啊。神奇,这个原理是啥啊。牛!!! user_A(21:59:55): 5000 rows in set (4.25 sec), 前面要90秒。 ------------------------- 回 27楼(板砖大叔) 的帖子 这里所说的索引都是普通的b-tree索引,mysql,sqlserver,oracle 的关系数据库都是默认支持的; ------------------------- 回 32楼(veeeye) 的帖子 可以详细说明一下“最后建议不要在数据库中使用外键,让应用程序来保证。 ”的原因吗?我们公司在项目中经常使用外键,用程序来保证不是相对而言更加复杂了吗? 这里的不建议使用外键,主要考虑到 : 第一.维护成本上,把一些业务逻辑交由数据库来保证,当业务需求发生改动的时候,需要同时考虑应用程序和数据库,有时候一些数据库变更或者bug,可能会导致外键的失效;同时也给数据库的管理人员带来维护的麻烦,不便于管理。 第二.性能上考虑,当大量数据写入的时候,外键肯定会带来一定的性能损耗,当出现这样的问题时候,再来改造去除外键,真的就不值得了; 最后,不在数据库中参与业务的计算(存储过程,函数,触发器,外键),是保证数据库运行稳定的一个好的最佳实践。 ------------------------- 回 33楼(优雅的固执) 的帖子 ReDBA专家门诊一期:索引与sql优化 十分想请大师分享下建立索引的经验 我平时简历索引是这样的 比如订单信息的话 建立 订单号  唯一聚集索引 其他的比如   客户编号 供应商编号 商品编号 这些建立非聚集不唯一索引   ################################################## 建立索引,需要根据你的SQL语句来进行创建,不是每一个字段都需要进行创建,也不是一个索引都不创建,,可以把你的SQL语句,应用场景发出来看看。 索引的创建确实是一个非常专业的技术活,需要掌握:表的存储方式,索引的原理,数据库的优化器,统计信息,最后还需要能够读懂数据库的执行计划,以此来判断索引是否创建正确; 所以需要进行系统的学习才能掌握,附件是我在2011年的时候的一次公开课的ppt,希望对你有帮助,同时可以把你平时遇到的索引创建的疑惑发到论坛上来,大家可以一起交流。 ------------------------- 回 30楼(几几届) 的帖子 我也是这样,简单的会,仔细写也会写出来,但是就是不知道有没有更快或者更好的 #################################################### 多写写SQL,掌握SQL优化的方法,自然这些问题不在话下了。 ------------------------- 回 40楼(小林阿小林) 的帖子 mysql如何查询需要优化的语句,比如慢查询的步奏,如何找出需要通知程序员修改或者优化的sql语句 ############################################################ 可以将mysql的慢日志打开,就可以记录执行时间超过指定阀值的慢SQL到本地文件或者数据库的slow_log表中; 在RDS中默认是打开了慢日志功能的:long_query_time=1,表示会记录执行时间>=1秒的慢sql; 如何快速找到mysql瓶颈: 简单一点的方法,可以通过监控mysql所在主机的性能(CPU,IO,load等)以及mysql本身的一些状态值(connections,thread running,qps,命中率等); RDS提供了完善的数据库监控体系,包括了CPU,IOPS,Disk,Connections,QPS,可以重点关注cpu,IO,connections,disk 4个 指标; cpu,io,connections主要体现在了性能瓶颈,disk主要体现了空间瓶颈; 有时候一条慢sql语句的频繁调用,也可能导致整个实例的cpu,io,connections达到100%;也有可能一条排序的sql语句,消耗大量的临时空间,导致实例的空间消耗完。 ------------------------- 下面是分析一个cpu 100%的案例分析:该实例的cpu已经到达100% 查看当前数据库的活动会话信息:当前数据库有较多的活跃线程在数据库中执行查看当前数据库正在执行的sql: 可以看到这条sql执行的非常缓慢:[tr=rgb(100, 204, 255)]delete from task_process where task_id='1801099' 查看这个表的索引: CREATE TABLE `task_process` (  `id` int(11) NOT NULL AUTO_INCREMENT,    ................  `task_id` int(11) NOT NULL DEFAULT '0' COMMENT '??????id',   ................  PRIMARY KEY (`id`),  KEY `index_over_task` (`is_over`,`task_id`),  KEY `index_over` (`is_over`,`is_auto`) USING BTREE,  KEY `index_process_sn` (`process_sn`,`is_over`) USING BTREE) ENGINE=InnoDB AUTO_INCREMENT=32129710; 可以看到这个表有3KW的数据,但是没有task_id字段开头的索引,导致该sql语句删除需要进行全表扫描: 在我们的诊断报告中已经将该sql语句捕获到,同时给你提出该怎样进行索引的添加。 广告:诊断报告将会在1月底发布到控制台,到时候用户可以直接查看诊断建议,来完成你的数据库优化。 ------------------------- 回 45楼(dentrite) 的帖子 datetime和int都是占用数据库4个字节,所以在空间上没有什么差别;但是为了可读性,建议还是使用datetime数据类型。 ------------------------- 回 48楼(yuantel) 的帖子 麻烦把ecs_brand和ecs_goods的表结构发出来一下看看 。 ------------------------- 回 51楼(小林阿小林) 的帖子 普通的 ECS服务器上目前还没有这样的慢SQL索引建议的工具。 不过后续有IDBCloud将会集成这样的sql诊断功能,使用他来管理ECS上的数据库就可以使用这样的功能了 。

玄惭 2019-12-02 01:16:11 0 浏览量 回答数 0
阿里云大学 云服务器ECS com域名 网站域名whois查询 开发者平台 小程序定制 小程序开发 国内短信套餐包 开发者技术与产品 云数据库 图像识别 开发者问答 阿里云建站 阿里云备案 云市场 万网 阿里云帮助文档 免费套餐 开发者工具 企业信息查询 小程序开发制作 视频内容分析 企业网站制作 视频集锦 代理记账服务 企业建站模板