案例1:

现象:在人员访问量大的时候OA系统经卡死,并且经常宕机,需要启动apache服务

优化配置如下:

D:\MYOA\conf\http.conf

修改参数如下:

<IfModule mpm_winnt.c>

EnableMMAP Off

EnableSendfile Off

ThreadsPerChild 170

MaxRequestsPerChild  0

Win32DisableAcceptEx

</IfModule>

案例2:

现象:OA系统访问速度慢,重启apache服务后几分钟内访问正常,几分钟以后系统访问速度严重变慢,无法处理流程。

可能出现问题的地方:

1.硬件:更换服务器后几分钟后问题依旧

2.操作系统:更换机器排除操作系统问题

3.软件:

系统本身:可能是大量语句没有mysql_close(),连接过多数据库资源耗尽,修改了TCP/IP的响应时间(修改注册表)问题依旧

4.网络:

①局域网访问依然慢,在本机访问也是同样的问题,排除网速问题

②发现360流量统计上传下载不到10K,正常情况下应该在1M左右,程序、流量被堵死

③公司访问主要分为两大类:

A.通过互联网访问OA域名

B.部分研发区通过proxy代理访问系统,禁用proxy访问后问题依旧

手工在程序目录里面点的时候,发现d:\myoa\tmp目录很难打开,里面有大量的session文件,超过10W个,初步判断是由于系统产生session文件过多导致用户和系统交互时速度受到影响

关于session资料如下:

首先 gc是什么?

gc, 是garbage collection 的简称.这个进程一般都跟着每起一个SESSION而开始运行的.gc目的是为了在session文件过期以后自动销毁删除这些文件. 大家应该猜到三个参数的大致用处了吧?

1、session_gc_probaility

PHP默认不是每个SESSION启动都会启动一个GC来跟踪。这个参数是控制gc跟session启动概率。默认 1。值越大,概率越大。



2、session.gc_divisor

功能同上。 默认100。值越小,概率越大。



3、session.gc_maxlifetime 

超过设定时间,gc就认为是垃圾文件。

修改session回收机制最长的存活时间为10分钟

session.gc_maxlifetime = 600(默认为36000秒10个小时)

session_gc_probaility=5 (默认为1,修改为5增加回收垃圾文件的概率)

结论:

对程序开发不了解,很早就发现tmp文件夹产生了大量文件,手动访问tmp目录很卡,此种情况也同样适用程序,PHP程序在访问tmp(session)文件时也是会影响效率(每一个用户访问系统都需要遍历10W个session文件效率低下)



案例3

现象:十一假期结束后,系统访问异常缓慢,导致大部分人不能办公

分析:月初是员工处理考勤数据高峰期,之前的考勤都是在平时分开处理,十一假期后处理考勤电子流出现扎堆的现象

解决问题的步骤:

1.排除系统设置问题

2.排除网络带宽、操作系统、硬件问题

发现禁用proxy的地址访问后故障消失

解决办法:

人工分流,将之前的web端给proxy用户访问,增加一台web端给开房去员工使用

通达OA技术人员给的web和数据库分离的方法:

再添加一个用户

1)两台计算机都按装oa系统 

2)启用数据库的计算机,在这台计算机上登录oa系统,系统管理 -> 数据库管理 -> MySQL用户管理 添加一个用户:主机为启用office_anywhere的计算机ip地址,用户名:比如myroot 密码:比如mypass 

3)启用office_anywhere服务的计算机配置D:\MYOA\webroot\inc\oa_config.php 

设置其参数为 

$MYSQL_SERVER="数据库所在计算机的ip:3336"; 

$MYSQL_USER="myroot"; 

$MYSQL_PASS="mypass"; 

4)启用office_anywhere服务的计算机停掉Mysq5_oa,启用Mysq5_oa的计算机停掉office_anywhere服务 

以上操作,实现数据库与apache分离

具体步骤:

1.在准备增加web端的服务器上将之前的web端拷贝过来(假设IP为192.168.31.37)

2.添加一个限制IP(保证数据库安全)的用户root2用户,密码myoa888,并赋予数据库的所有权限(包括增、删、改、查)

也可以用工具Navicat添加

3.修改D:\MYOA\webroot\inc目录下“oa_config.php”文件

//-- MYOA数据库配置 --

$MYSQL_SERVER="192.168.1.235:3336";

$MYSQL_USER="root2";

$MYSQL_DB="TD_OA";

$MYSQL_PASS="myoa888";

通达OA系统故障解决案例记录的更多相关文章

  1. 通达OA 免狗迁移到公网 的另类解决办法

    1,通达OA 发布到公网 ,要真正的 Anywhere2,正版通达OA,有加密狗在本地机器上 ,通达必须检测有狗才可以运行3,阿里云服务器  (你想往上插加密狗都没地方的说..汗)4,本地ISP 不提 ...

  2. 通达OA 同步中控考勤机 增强版

    如果你用的是中控考勤机且考勤机能联网,那恭喜有福了! 最近发现考勤机提供web方式查询,经过调试可以用程序直接读取考勤机数据跨过考勤机软件及其access数据库,数据同步及时性.可靠性大幅提高. 通达 ...

  3. 通达OA 指纹考勤机接口 源代码

    通达oa2011已经支持 指纹考勤机  但只限中控iclock660 这款2000大洋的型号 通过本文的开发接口,可以与任意一款指纹机集成, 需求指纹机管理软件能实时保存数据 我这里用的是 中控u16 ...

  4. 如何在同一台服务器上安装多套通达OA

    本人最近研究了在同一服务器安装多套通达OA的方法:发现网上关于这个话题的文章比较少,于是录制成视频,在此发布,希望对有这方面需求的朋友有所帮助: http://blog.163.com/zhuwei_ ...

  5. centos6.5环境通达OA数据库mysql5.0.67升级至mysql5.5.48方案

    centos6.5环境通达OA数据库mysql5.0.67升级至mysql5.5.42方案 整体方案: 环境准备,在备用服务器安装mysql5.5数据库 1.停用生产环境的应用访问 直接修改web的访 ...

  6. 通达OA 小飞鱼工作流在线培训教程(一)HTML基础介绍

    应一些刚接触工作流设计朋友的要求,这里开设一个系列教程,对通达OA工作流设计相关的内容做个介绍.方便解决一些日常经常出现的问题,希望对刚刚接触这部分工作的朋友能够有些帮助. 工作流设计须要多方面的知识 ...

  7. 通达OA 小飞鱼OA实施法:以项目管理的方式来推进工作流设计项目实施

    做工作流设计的项目时,有时有几十个之多的流程须要做,并且时间有限,怎样把这些流程在有限的时间内设计完毕,并且达到预定要求成为这个项目须要解决的主要问题. 为了更好的完毕此次的工作流项目实施,在这里借鉴 ...

  8. 通达OA任意文件上传+文件包含GetShell/包含日志文件Getshell

    0x01 简介 通达OA采用基于WEB的企业计算,主HTTP服务器采用了世界上最先进的Apache服务器,性能稳定可靠.数据存取集中控制,避免了数据泄漏的可能.提供数据备份工具,保护系统数据安全.多级 ...

  9. 64位 SQL Server2008链接访问Oracle 过程汇总解决方法记录

    64位 SQL Server2008链接访问Oracle 过程汇总解决方法记录 经过几天不停的网上找资料,实验,终于联通了. 环境:系统:win 2008 ,SqlServer2008 R2, 连接O ...

随机推荐

  1. Eclipse编辑jsp、js文件时卡死现象的解决办法汇总

    使用Eclipse编辑jsp.js文件时,经常出现卡死现象,在网上百度了N次,经过N次优化调整后,卡死现象逐步好转,具体那个方法起到作用,不太好讲.将所有用过的方法罗列如下: 1.取消验证 windo ...

  2. 网络编程基础【day09】:实现简单地ssh(四)

    本节内容 概述 简单ssh socket接收大数据的困惑 一.概述 我们用过linux的就知道什么是ssh,它是一种客户端和服务端交互返回的一个解决,输入一个命令,给我返回什么,接下来我们说一说,如何 ...

  3. 无法使用备份文件 'D:\20160512.bak',因为原先格式化该文件时所用扇区大小为 512,而目前所在设备的扇区大小为 4096

    删除原先备份的记录 这里再加一条,如果你备份的文件还原有兼容性的问题,那就用低版本的sql做备份,这样的话哪里都能用

  4. JVM总结(四):JVM类加载机制

    这一节我们来总结一下JVM类加载机制.具体目录如下: 类加载的过程 类加载过程概括 说说引用 详解类加载全过程: 加载 验证 准备 解析 初始化 虚拟机把描述类的数据从Class文件加载到内存,并对数 ...

  5. Spark记录-SparkSql官方文档中文翻译(部分转载)

    1 概述(Overview) Spark SQL是Spark的一个组件,用于结构化数据的计算.Spark SQL提供了一个称为DataFrames的编程抽象,DataFrames可以充当分布式SQL查 ...

  6. 部署flask

    部署 当我们执行下面的hello.py时,使用的flask自带的服务器,完成了web服务的启动.在生产环境中,flask自带的服务器,无法满足性能要求,我们这里采用Gunicorn做wsgi容器,来部 ...

  7. nodejs实现新闻爬虫

    作为费德勒的铁杆粉丝,每天早上都会在新浪体育里面的网球频道浏览费德勒新闻.由于只关注费德勒的新闻,所以每次都要在网页中大量的新闻中筛选相关信息,感觉效率好低,所以用node写了一个简单的爬虫程序通过每 ...

  8. (一)求 int 型数据在内存中存储时 1 的个数

    题目:求 int 型数据在内存中存储时 1 的个数 描述:输入一个 int 型数据,计算出该 int 型数据在内存中存储时 1 的个数 运行时间限制: 10 sec 内存限制:128 MByte 输入 ...

  9. dp填表法,刷表法

    填表法:利用上一状态推当前 刷表法:利用当前推关联,利用刷表法较为便捷,向上边界较容易处理,处理在本次循环中的影响

  10. PyCharm的调试

    1.设置断点 2.debug模式运行    F8      下一行代码 查看当前位置所有局部变量:print(locals()) 查看全局变量:                      print( ...