目前碰到过三种原因导致 Time out after 300 secs. 1. 死循环 这是最常见的原因.显式的死循环很容易定位,隐式的死循环就比较麻烦了,比如正则表达式.曾经用一个网上抄来的邮箱正则表达式匹配百亿条数据,最终导致一个map阶段的attempt频繁超时重试,最后自己重写了一个简化版的表达式,问题解决. 2. 频繁GC 程序中生成了过多的全局对象会导致频繁GC.比如reduce阶段依赖一个不断增大的ArrayList变量,而ArrayList在增大过程中涉及到不断的copyOf,形…
link:http://www.51testing.com/?uid-445759-action-viewspace-itemid-812467 并行运行hbase删表,建表操作,多个表多个region,导致hbase挂掉. 查看日志: 从日志中可以看出GC时间过长导致zookeeper连接超时,master退出.(是master退出而不是regionserver退出是因为进行的操作是建表,删表,是由master来进行操作的). 原因: hbase中和GC相关的参数: 修改前(默认): expo…
eclipse ,tomcat及环境设置都没错,通过上网搜资料发现是因为本机浏览器设置了代理,导致elipse启动tomcat时也启用代理,最后在eclipse中取消代理,成功启动,如下设置: Preferences-->NetWork Connections--> AcriveProvider选Direct…
1. 问题背景 上周线上某模块出现锁等待超时,如下图所示: 我虽然不是该模块负责人,但出于好奇,也一起帮忙排查定位问题. 这里的业务背景就是在执行到某个地方时,需要去表中插入一批数据,这批数据需要根据数据类型分配流水号.这与我的select for update引发死锁分析提到的流水号分配差不多:通过数据库悲观锁实现多实例部署的流水号生成与分配. 2. 问题排查 那么需要排查的问题很简单,为什么获取流水号的时候会发生锁等待超时? 从上面截图中的异常栈中,我们也可以看出:首先进入了带有@Trans…
最近有客户反映,机房出现断电情况,服务器的系统重新启动后,数据库服务自启动失败.第一次遇到这种情况,为了查看是不是断电情况导致数据库文件损坏,从客户的服务器拿到数据库的日志,进行分析. 数据库工作机制 要分析数据库启动失败的原因,首先说明一下数据库服务的工作机制. 数据库分为六大服务: 数据库的六大服务之间存在依赖关系,及启动流程: 服务自动启动失败原因 从客户那里,拿到了两份日志,一份是开机自启动的日志信息,此次数据库启动失败.另外一份是开机后,手动启动数据库服务的日志信息,此次数据库启动成功…
1.PHP程序的执行时间超过了Nginx的等待时间,可以适当增加nginx.conf配置文件中FastCGI的timeout时间 #http代码段中增加 fastcgi_connect_timeout 300; fastcgi_send_timeout 300; fastcgi_read_timeout 300; 2.header 头信息过大 3.FastCGI进程数不够用增大 php-fpm.conf 中的 max_children max_requests 值 4.各种超时 nginx 中的…
前四章介绍了系统层的设计,从这一章开始进入服务层的设计. 连接断开 在常见的服务器场景中,客户端断开连接的方式为被动关闭.即作为客户端请求完服务器的服务后,选择主动关闭同服务器的连接.在服务器的角度看,服务器是客户端连接套接字read系统调用返回0,触发关闭逻辑,服务器本地是被动关闭连接的. 但是在某些场景中,客户端虽然已经实际断开了与服务器的连接,但是服务器并不能及时检测出此时维护的连接已经断开的情景.在这种情况下,由于被动关闭的缘故,服务器并不会主动释放与该连接有关的资源.这些不能被释放的资…
解决SQL查询总是超时已过期 .在WIN8里提示:OLE DB 或 ODBC 错误 : 查询超时已过期; HYT00 1.由于数据库设计问题造成SQL数据库新增数据时超时 症状:   Microsoft OLE DB Provider for SQL Server 错误 '80040e31' ([ODBC SQL Server Driver]超时已过期);    服务器上看CPU.内存占用率很低;     事件日志中提示: 数据库 '*********' 中文件 '***********'…
先给大家分析下超时原因: 1.网络不通畅. 2.后台运行比较慢(服务器第一次运行时,容易出现) 超时结果:JQ中 timeout设置请求超时时间. 如果服务器响应时间超过了 设置的时间,则进入 ERROR (错误处理) 超时解决方案: 1.默认的timeout为0,代表永不超时 2.尽量把timeout设置的大一点.坏处:使数据的加载变慢(貌似.呵呵). 3.在ERROR回调函数中写 有关于 超时 处理 的函数:例如,可以在超时的情况下再次调用取数据函数. -------------------…
背景 最近在做一个订单的钉钉审批功能,钉钉审批通过之后,订单更新审核状态,然后添加一条付款,并且更新付款状态: // 订单审批通过 @Transactional(rollbackFor = Exception.class) public void orderPass() { // 更新订单审核状态 updateOrderAuditStatus(id); // 添加入库 addPutInStorage(id); // 更新订单入库状态 updateOrderStorageStatus(id); }…