- 博客(8)
- 资源 (1)
- 收藏
- 关注
原创 服务器日志常规分析方法
1.异常分析 在日志文件中搜索“异常”。 常见的是数据库操作异常,其中最常见的是“违反唯一约束”。 如果是单据传输,自动按照冲突解决方式处理.通常采用更新方式,即用新的数据覆盖原来的数据. 只要不会反复处理同一消息,则可以忽略这种异常. 数据库异常可能揭示了系统存在的问题: 。超时:可能是性能问题 。无效的语句:程序错误,转义处理 。数据被截断:字段太短 2.系统阻塞 在日志文
2014-12-15 20:40:15 1899
原创 SEMQ的一个不符合时序控制的传输现象
零售商端tb_0031中具有相同时序控制键(f023v_0031)的单据消息(可能是按每一部分包含一张单据的不同明细抽取的,并指定以增量修改方式处理),发送状态全部为SS_ACK(6). 时序控制的核心逻辑是:端-端确认,具有相同时序键的消息只有在上一个消息确认送达(SS_ACK2=100)后才能发送下一个消息. 这个现象应该隐藏着一个bug. SEMQ队列元素的发送状态定义如下:
2014-12-15 16:07:17 690
原创 dxi通用单据处理实现
处理是指数据层面而非业务层面.是业务处理,接口交换(dd,dxi_change_log等)功能的基础. 单据交换系统实际上是一个业务数据对象的同步子系统.业务系统在其上构建. 同步是基于对象的变更进行的。 对象分为单表对象,多表对象.单表对象对应表的一条记录,如商品资料.多表对象是关系型对象,关系的逻辑结构呈现树型. 多表对象是每对象分别处理(抽取,传输,接收处理),单表支持组合以提高效率
2014-12-11 19:39:01 480
原创 IDbHelper接口NewTableHandler实现增强
某托管服务器崩溃产生了crash,经惠礼分析定位到missive插件中处理消息执行下面的调用时返回NULL,后续对th的访问导致崩溃: ITableHandler *th = CBasePluginModule::db_helper_->NewTableHandler(pdbor,"tb_6016"); 使用IDbHelper接口NewTableHandler创建表处理器对象,用来操纵数据库.
2014-12-10 19:48:46 803
原创 tb_0030出现违反唯一性约束的问题
tb_0030是SEMQ的待确认消息表,存储已接收但等待发送方确认已送达的记录,f003v_0030是确认记录键,可以唯一对应到系统范围内的所有SEMQ实例中的待发送记录. f003v_0030由节点类型,节点id,SEMQ实例id,SEMQ存储id,记录编号组成. tb_0030在f003v_0030上建立唯一索引.可以提高定位速度. 运行过程中出现了重复insert导致违反约束的情
2014-12-10 18:17:14 972
原创 das for gyb2.0新增特性说明
以下特性是因gyb2.0的需要而引入,作为das系统的新增特性。 1.支持系统字段可以配置 目前是为了支持gyb2而增加的功能. 在lm.conf中配置.目前仅支持的系统字段有: SF_SRC_ORGID = 55, /// 源机构(零售商) SF_SHEET_ID = 56, /// 单据编号 SF_DEST_ORGID= 58, /// 供应商mis 默认字段名分
2014-12-10 16:47:34 494
原创 hoard效果验证
1.背景 das前置机和服务器有崩溃的情况,是否是大量请求时内存不足所致? 一个umx文件加载进内存,内存消耗为什么增大了非常多? 如几十M的文件,加载后内存暴增几百兆---以前有过此现象 2.测试与分析 hoard对此的改善有多大? 测试代码 int new_buf(int times,int size) { for (int i=0;i<times;i++) { new
2014-12-05 16:14:38 585
原创 das系统检查记录(2014.12.04)
1.服务器 1.1日志分析 现象1:tb_1045主键冲突 [2014-12-01 05:00:38:425][线程7188][2][20][0][]CBBoxPlugin::HandleInput_i 处理消息7:2800(source:1 10009,dest:8 0)... [2014-12-01 05:00:38:441][线程7188][1][20][0][]********
2014-12-04 11:20:56 1727
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人