应用依次连接Oracle数据库超时-连接数不够用
时间:2020-05-20 05:32:29 \\ 作者:admin \\ 146人看过

  前段时间,开辟同事反应出应用依次在insert数据时出现

  连接数据库异常。 检查事先的客户端接数也到达800+; 这个不正常。初步思考是否是数据库被入侵;依据监听日记;去检查当天的连接状况。

  连接数据库都是应用依次的效劳器; 有各个媒体的数据、自有SDK数据、和效劳器当地。 个中自有SDK地点的效劳器有少量的连接。超越70%。

  初步诊断是连接数不够;招致应用依次少量重复恳求连接,数据库支撑不了这么大年夜数据量;

  先从数据库剖析处理

  今朝Oracle数据库的十分连接数是1000;相对足够大年夜了。因为Oracle是过程数据库;不像mysql那样能支撑少量的客服端连接不像mysql那样能支撑少量的客服端连接

  在这需求吐槽下Oracle;连个连接池的中间件也找不到;是否是缴费了才有这效劳。

  为啥应用依次会少量重复连接数据库呢?是限制非活泼回话超越若干分钟就主动断开

  做了下面3步;下面ConnectionTimeoutException;没有出现;然则出现

  若独自百度查询;这个能够不论数据库的事;然则连接数照样没有降上去

  查对后;发明有个游戏登录记录是CP方经过接口传递过去的;游戏登录数据自有SDK也是有的;只是没有角色信息。而履行平台未触及到角色的层次的统计。

  经过以上处理;在写个脚本监控下连接数

  在 oracle_p_num 记录每分钟的统计; 不美观察下一周数据库连接数趋于波动100摆布;oracle早晨10点会做统计信息汇集;最高不超越150的连接数。

  最后:思考前期公司游戏营业开展/上线;需从新计划下数据库架构;从新遴选下数据库效劳器;将Oracle迁徙到PostgreSQL12。采取读写分别形式(逻辑复制+hot standby+pgbouncer)

  比来经过编写PostgreSQL存储过程有些心得;前期可思考写一系列的PostgreSQL的存储过程教程。

你可能喜欢