提交文档
This commit is contained in:
@@ -6,4 +6,6 @@
|
||||
| [浅谈企业运营中的监控系统](monitor.md) |
|
||||
| [Maven使用方法与配置文件详解](maven.md) |
|
||||
| [GIT跨项目协作模型图](git-across-project-model.md) |
|
||||
| [代收/代付系统功能说明书](cap.md) |
|
||||
| [代收/代付系统功能说明书](cap.md) |
|
||||
| [日志归档方案](archivelog.md) |
|
||||
| [垂直拆分优化方案](optimization.md) |
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
<img style="text-align:right" src="http://www.murongtech.com/Public/than/img/logo.png" width="100px" />
|
||||
|
||||
# 日志归档方案
|
||||
|
||||
## 现状
|
||||
|
||||
- 每天日志移到同服务器上特定路径,服务器空间并未释放
|
||||
- 当服务器磁盘空间达到阈值后物理删除,不符合央行日志审计规范
|
||||
- 没有统一归档服务器,没有日志归集功能
|
||||
|
||||
## 目标
|
||||
|
||||
- 日志归集,登录归档服务器可查询所有日志
|
||||
- 按天归档,按年度分组
|
||||
- 日志压缩,合理利用空间
|
||||
- 业务系统日志保留一周便于查询问题
|
||||
|
||||
## 方案
|
||||
|
||||
<img style="text-align:left;" src="http://o6fhqh1oe.bkt.clouddn.com/20171211151298482835752.png" width="800px" />
|
||||
+170
@@ -0,0 +1,170 @@
|
||||
<img style="text-align:right" src="http://www.murongtech.com/Public/than/img/logo.png" width="100px" />
|
||||
|
||||
# 新大陆优化方案
|
||||
|
||||
## 现状
|
||||
|
||||
- 商户大量拓展,随之带来业务量上升,系统的承载能力也需提高一个量级
|
||||
- 交易系统承载的服务过多,一旦宕机会造成所有服务阻断
|
||||
- 部分系统参数设置不合理,有优化空间
|
||||
|
||||
## 目标
|
||||
|
||||
- 优化操作系统与业务平台参数
|
||||
- 按业务的维度独立拆分,使其互不干扰
|
||||
- 优化集群服务器组数量
|
||||
- 满足未来量级的业务量
|
||||
|
||||
## 物理架构(当前)
|
||||
|
||||
<img style="text-align:left;" src="http://o6fhqh1oe.bkt.clouddn.com/20171206151254510792455.png" width="1000px" />
|
||||
|
||||
## 参数调优
|
||||
|
||||
> 目的:提高当前系统的稳定性
|
||||
|
||||
- JVM参数(内存、缓存、优化参数等)
|
||||
> jboss5/bin/start.sh
|
||||
|
||||
```shell
|
||||
-Xms4096m -Xmx4096m -XX:MaxPermSize=512m
|
||||
```
|
||||
|
||||
|
||||
- 各接入服务的最大线程数、超时时间
|
||||
> 待分析
|
||||
|
||||
- JBoss GC设置
|
||||
|
||||
- JBoss 数据库连接设置
|
||||
> oracle-ds.xml
|
||||
|
||||
```xml
|
||||
<min-pool-size>100</min-pool-size>
|
||||
<max-pool-size>200</max-pool-size>
|
||||
```
|
||||
|
||||
- 文件打开数量
|
||||
> /etc/security/limits.conf
|
||||
|
||||
```shell
|
||||
* soft nproc 10240
|
||||
* hard nproc 10240
|
||||
* soft nofile 65535
|
||||
* hard nofile 65535
|
||||
```
|
||||
|
||||
> /etc/security/limits.d/90-nproc.conf
|
||||
|
||||
```shell
|
||||
* soft nproc 10240
|
||||
root soft nproc unlimited
|
||||
```
|
||||
|
||||
- POS接入超时时间与最大线程数优化
|
||||
> server.xml
|
||||
```xml
|
||||
<Connector port="8080" maxThreads="100" acceptCount="100" connectionTimeout="20000" />
|
||||
```
|
||||
|
||||
- EPC平台优化
|
||||
> conf/sys.properties
|
||||
|
||||
```shell
|
||||
ecp.plt.sys_stat=NONE
|
||||
ecp.plt.log_level=INFO
|
||||
ecp.plt.run_stat=NONE
|
||||
```
|
||||
|
||||
- JMS队列优化
|
||||
> p.jmssvr
|
||||
|
||||
```xml
|
||||
<property name = "maxThreads" value = "300"/>
|
||||
<property name = "minThreads" value = "100"/>
|
||||
<property name = "timeOut" value = "10"/>
|
||||
```
|
||||
|
||||
- SQL语句优化
|
||||
> 根据DBA给出的AWR报告进行分析,优化存在性能问题的SQL
|
||||
|
||||
- 流水表中所有的SQL语句加上AC_DT来强制走分区
|
||||
|
||||
```sql
|
||||
select * from t_hps_jnl where ac_dt > 'XXXXXXXX' and ac_dt < 'XXXXXXXX'
|
||||
```
|
||||
|
||||
- 交易流水增加分区
|
||||
> 交易流水需以交易日期创建分区,所有SQL需要增加分区条件
|
||||
|
||||
|
||||
- 增加系统监控
|
||||
> 梳理各种纬度的监控项并载入监控系统
|
||||
|
||||
- 磁盘空间占用率监控
|
||||
- CPU占用率监控
|
||||
- 内存占用率监控
|
||||
- JVM内存监控
|
||||
- 网络带宽监控
|
||||
- 网络端口占用率监控
|
||||
- 系统文件打开数量监控
|
||||
|
||||
- 交易增加超时时间
|
||||
> 分析各交易的超时时间
|
||||
|
||||
- 历史交易记录的迁移
|
||||
> 6个月之前的交易移植到历史库
|
||||
|
||||
## 服务拆分方案
|
||||
|
||||
> 目的:满足未来百万级业务
|
||||
|
||||
1. 增加一组Nginx做内部负载;增加一组服务器用于查询;现有交易服务器组中增加一台服务器做集群
|
||||
|
||||
- 修改后架构
|
||||
|
||||
<img style="text-align:left;" src="http://o6fhqh1oe.bkt.clouddn.com/20171207151261049697136.png" width="500px" />
|
||||
|
||||
- 查询服务器配置
|
||||
|
||||
节点 | CPU | JVM | 服务 | 描述
|
||||
--- | --- | --- | --- | ---
|
||||
查询-I | 4Core | 6G | 查询服务 | 访问读库
|
||||
|
||||
节点 | CPU | JVM | 服务 | 描述
|
||||
--- | --- | --- | --- | ---
|
||||
查询-II | 4Core | 6G | 查询服务 | 访问读库
|
||||
|
||||
|
||||
2. 拆分当前POSP服务组,并且将 20Core,32G 的物理机分成4个容器用于拆分后的服务
|
||||
|
||||
- 修改后架构
|
||||
|
||||
<img style="text-align:left;" src="http://o6fhqh1oe.bkt.clouddn.com/2017120615125441359223.png" width="500px" />
|
||||
|
||||
- 服务器配置
|
||||
|
||||
节点名 | 用户名 | CPU | JVM | 服务 | 描述
|
||||
--- | --- | :---: | :---: | --- | ---
|
||||
银行卡-I | pospadm | 共享20Core | 6G | 银行卡收单、SN同步 |
|
||||
POS扫码-I | qrpadm | 共享20Core | 6G | 微信、支付宝、银联 |
|
||||
服务化扫码-I | soaadm | 共享20Core | 6G | 微信、支付宝、一码付 |
|
||||
查询-I | qryadm | 共享20Core | 6G | 支付结果查询 | 预留,可以承担小部分流量,访问主库
|
||||
|
||||
|
||||
节点名 | 用户名 | CPU | JVM | 服务 | 描述
|
||||
--- | --- | :---: | :---: | --- | ---
|
||||
银行卡-II | pospadm | 共享20Core | 6G | 银行卡收单、SN同步 |
|
||||
POS扫码-II | qrpadm | 共享20Core | 6G | 微信、支付宝、银联 |
|
||||
服务化扫码-II | soaadm | 共享20Core | 6G | 微信、支付宝、一码付 |
|
||||
查询-II | qryadm | 共享20Core | 6G | 支付结果查询 | 预留,可以承担小部分流量,访问主库
|
||||
|
||||
|
||||
节点名 | 用户名 | CPU | JVM | 服务 | 描述
|
||||
--- | ---- | :---: | :---: | --- | ---
|
||||
银行卡-III | pospadm | 共享20Core | 6G | 银行卡收单、SN同步 |
|
||||
POS扫码-III | qrpadm | 共享20Core | 6G | 微信、支付宝、银联 |
|
||||
服务化扫码-III | soaadm | 共享20Core | 6G | 微信、支付宝、一码付 |
|
||||
查询-III | qryadm | 共享20Core | 6G | 支付结果查询 | 预留,可以承担小部分流量,访问主库
|
||||
|
||||
3. 部署方式:每组服务器均采用全量部署,但只会启用容器相对应的服务,配合负载设备针对不通的业务作切换策略
|
||||
Reference in New Issue
Block a user