1 Star 0 Fork 4

YunFan68/zanePerfor

forked from smooth/zanePerfor 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

zanePerfor一款完整、高性能、高可用的前端性能监控和统计平台

Node Vue Egg Mogodb Redis

开发功能进度说明

  • 集成框架选型及其相关配置(已完成)
  • 主重数据库相关配置开发(已完成)
  • web网页sdk开发 (已完成)
  • web端数据库数据后端存储逻辑开发 (已完成)
  • web端网站性能数据,错误信息,资源加载信息后台逻辑开发(定时任务:已完成)
  • web端网站PV,UV,IP统计开发(定时任务:已完成)
  • ip地址库存储逻辑(多种缓存策略:本地文件缓存,redis缓存,mongodb缓存)(已完成)
  • web端上报脚本开发(已完成)
  • 分城市统计性能逻辑开发(已完成)
  • 浏览器端后台cms界面开发(已完成)
  • 微信小程序sdk开发 (已完成)
  • 微信小程序相关后端逻辑开发 (已完成)
  • 微信小程序后台cms界面开发(已完成)
  • 微信分城市统计性能逻辑开发(已完成)
  • 用户行为漏斗分析 即用户行为分析(已完成)
  • TOP性能统计(已完成)
  • 省市流量统计热力图分析(已完成)
  • 上报方式新增redis 消息队列(已完成)
  • 索引优化(已完成)
  • Mongodb副本集读写分离开发(已完成)
  • 数据库分表(即分集合)针对于apges,ajaxs,errors,resource,enviroment大数据量表分表,不同应用存储到不同的表中(已完成)
  • Mongodb集群配置 (已完成)
  • github第三方登录 (已完成)
  • 新浪微博第三方登录 (已完成)
  • 微信授权第三方登录 (已完成)
  • Mongodb集群分片开发(优化中)
  • 项目性能优化(已完成)
  • 邮件触发服务开发(已完成)
  • 每日日报邮件发送(已完成)
  • 页面后续操作过程中出现的Error错误、Ajax性能、资源加载的上报(已完成)
  • 所有预警相关业务开发(开发中)
  • Kafka消息队列的引入和使用 (已完成)
  • 应用突破历史流量峰值时触发邮件通知、开发流量预警功能(已完成)
  • 用户访问实时消费流量统计功能(ajax,页面,资源)(已完成)

项目开发文档

项目说明

  • 项目已部署到正式环境,并已稳定运行一段时间,请放心使用。
  • 前期推荐使用单机数据库或者Mongodb副本集架构,后期根据自身需求考虑是否使用集群分片
  • 目前4核8G单机服务器大概能支撑每日50-100W的pv,8核16G单机服务器可支撑100W-500W的PV流量
  • 如果项目日PV超千万,需要Redis集群,Mongodb集群分片的部署方式
  • 项目后台查询性能增加合适的索引之后,千万以上的数据量可在100ms-2s之内查询出来,平均100-300ms(单机/副本集)

浏览器端使用说明

使用SDK方式上报数据

  • 使用web SDK进行数据上报,使用方式请参考 web-report-sdk SDK详情

npm引入使用方式

// install
npm install web-report --save

// 通用版本引入
import { Performance } form 'web-report'
// 使用
Performance({
    domain:'http://report.com/api/v1/report/web',
    add:{
        appId:'D3D9B9AA45B56F6E424F57EFB36B0XXX',
    }
})

import {
    Performance,
    axiosReport,
    defaultReport,
    fetchReport,
    jqueryReport,
    noneReport
} from 'web-report'
// 使用
defaultReport({
    domain:'http://report.com/api/v1/report/web',
    add:{
        appId:'D3D9B9AA45B56F6E424F57EFB36B0XXX',
    }
})

浏览器端上报SDK详细说明文档请参考:web-report-sdk:

https://github.com/wangweianger/web-report-sdk

微信小程序端使用说明

  • 直接下载sdk,引入到小程序的app.js最顶部
微信小程序 app.js头部引入sdk

const wxRepotSdk = require('./utils/wx-report-sdk.min');

new wxRepotSdk({
    domain:'http://test.com',
    add:{
        appId:'56F6E424F57EFB36B0XXX'
    }
})

小程序端上报SDK详细说明文档请参考:wx-report-sdk:

https://github.com/wangweianger/wx-report-sdk

docker 安装配置环境(非必须)

  1. 安装并保证有 docker-compose 的环境

  2. 修改 start-docker-compose.sh 里的 hostIP 为外网 IP ⚠️ 不能是 127.0.0.1localhost

  3. docker-compose 启动方式

方式一:

# 项目所在目录
./start-docker-compose.sh

方式二

export hostIP='自己的外网IP' && docker-compose up -d --build
  1. 启动 web 开发环境
npm run dev
  1. 启动 web start 环境 ⚠️ 修改 config/config.prod.js 里的 redis 配置
npm start 

交流和建议群

  • 自发布以来有感兴趣的童鞋遇到了各种问题,大部分情况下是通过邮件进行沟通,为了方便解决大家部署中遇到的各种问题,下面贴出一个QQ交流群,有问题或者建议可提出。
MIT License Copyright (c) 2018-2019 zane - zane ([@wangweianger](https://github.com/wangweianger)) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

前端性能监控系统,消息队列,高可用,集群等相关架构 展开 收起
JavaScript
MIT
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
JavaScript
1
https://gitee.com/YunFan68/zanePerfor.git
git@gitee.com:YunFan68/zanePerfor.git
YunFan68
zanePerfor
zanePerfor
master

搜索帮助

Cb406eda 1850385 E526c682 1850385