soar-web

基于小米 soar 的开源 sql 分析与优化的 WEB 图形化工具,支持 soar 配置的添加、修改、复制,多配置切换,配置的导出、导入与导入功能。


环境需求

python3.x
Flask
pymysql

Python 环境未安装的可参考下面操作:

Windows:
step 1 去 python 官网下载安装 python3 (已安装可跳过此步骤)
setp 2 pip install Flask
setp 3 pip install pymysql

Mac:
step 1 brew install python3 python3-pip (如果两个包都有安装可跳过此步骤)
setp 2 pip install Flask
setp 3 pip install pymysql

Ubuntu:
step 1 sudo apt-get install python3 python3-pip (如果两个包都有安装可跳过此步骤)
setp 2 pip install Flask
setp 3 pip install pymysql

CentOS:
step 1 yum install python36 python36-pip (如果两个包都有安装可跳过此步骤)
setp 2 pip install Flask
setp 3 pip install pymysql

安装与使用

下载源码( Windows 可略过此步骤):
sudo -y apt-get install wget 或者 sudo yum -y install wget
wget https://codeload.github.com/xiyangxixian/soar-web/zip/master -O soar-web-master.zip

解压缩( Windows 可略过此步骤):
sudo -y apt-get install unzip 或者 sudo yum -y install unzip
unzip soar-web.zip
cd soar-web-matster

运行启动脚本
Windows: run.bat
Linux or Mac: bash run.sh

按Ctrl + c 结束

守护进程支持:
启动服务:bash manage.sh start
关闭服务:bash manage.sh stop
重启服务:bash manage.sh restart

注:当主机上存在多个 python 版本时, 需自行更改 run.sh, run.bat, manage.sh 中的 python 版本指定为 3.x 以上的版本运行。

docker 支持

地址:https://hub.docker.com/r/becivells/soar-web/
Dockerfile 见根目录 Dockerfile 文件
yum install docker -y
service docker start
docker pull becivells/soar-web
docker run -d --name soar-web -p 5077:5077 becivells/soar-web

也可以是用 Dockerfile 自行构建
docker build --no-cache -t soar-web .

访问

在浏览器上输入 http://127.0.0.1:5077 进行访问

配置

如果需要改IP地址和端口号, 可在 config.py 中进行修改
功能相关
关于存储: 所有的配置都是保存在浏览器 Local Storage 中的,多人之间使用是互补影响的,自己只能看到自己的配置,更换浏览器或者清除浏览器会造成配置丢失。
配置模板: 可以添加多数据库连接实例及配置,方便在 sql 评估的相互切换使用,具体配置项详情见https://github.com/XiaoMi/soar/blob/master/doc/config.md 。

下面是连接数据库后测试效果

数据库连接: 数据库连接成功后,soar 可以通过表结构提供更正确优质的 sql 评估建议, 配置的正确性决定了 soar 的服务质量。


线上线下环境问题: 线上环境作为待 sql 评估环境,soar 在进行 sql 评估时,会根据 sql 语句,从 线上环境的数据库连接实例 拷贝数据表到 测试环境的数据库连接实例,然后在测试环境下执行 sql 语句进行分析。因此测试环境的数据库连接实例需要有最高权限。如果无法没有最高权限可能造成一些问题,如果没有权限可以启动一个空的 mysql docker 容器作为测试环境。如果仅仅做测试用,可将线上线下环境指定为一样。
日志等级: 日志等级为 0 时不打印日志,设置为 1-7 时,会将 soar 产生的日志打印至控制台,按 F12 或右击网页点击审查元素打开调试工具,点击 Console 按钮查看日志。

分享一个基于小米 soar 的开源 sql 分析与优化的 WEB 图形化工具的更多相关文章

  1. 分享一个基于 netty 的 java 开源项目

    1.简介 中微子代理(neutrino-proxy)是一个基于 netty 的.开源的 java 内网穿透项目.遵循 MIT 许可,因此您可以对它进行复制.修改.传播并用于任何个人或商业行为. 2.项 ...

  2. SQL Server 2017数据库服务和SSMS图形化工具的的安装

    第一章 SQL数据库服务的安装 1. 首先要加载sql2017数据库镜像,可以用虚拟光驱或是刻录光盘装载.执行setup.exe. 双击.exe文件 双击.exe文件 2. 选择安装-->全新s ...

  3. [UWP]分享一个基于HSV色轮的调色板应用

    1. 前言 上一篇文章介绍了HSV色轮,这次分享一个基于HSV色轮的调色板应用,应用地址:ColorfulBox - Microsoft Store 2. 功能 ColorfulBox是Adobe 色 ...

  4. Spring MVC第一课:用IDEA构建一个基于Spring MVC, Hibernate, My SQL的Maven项目

    作为一个Spring MVC新手最基本的功夫就是学会如何使用开发工具创建一个完整的Spring MVC项目,本文站在一个新手的角度讲述如何一步一步创建一个基于Spring MVC, Hibernate ...

  5. CountBoard 是一个基于Tkinter简单的,开源的桌面日程倒计时应用

    CountBoard 是一个基于Tkinter简单的,开源的桌面日程倒计时应用. 项目地址 https://github.com/Gaoyongxian666/CountBoard 基本功能 置顶功能 ...

  6. 分享一个基于 ABP(.NET 5.0) + vue-element-admin 管理后台

    1.前言 分享一个基于ABP(.NET 5.0) + vue-element-admin项目.希望可以降低新手对于ABP框架的学习成本,感兴趣的同学可以下载项目启动运行一下.对于想选型采用ABP框架的 ...

  7. 分享一个php的防火墙,拦截SQL注入和xss

    一个基于php的防火墙程序,拦截sql注入和xss攻击等 安装 composer require xielei/waf 使用说明 $waf = new \Xielei\Waf\Waf(); $waf- ...

  8. 福利到~分享一个基于jquery的智能提示控件intellSeach.js

    一.需求 我们经常会遇到[站内搜索]的需求,为了提高用户体验,我们希望能做到像百度那样的即时智能提示.例如:某公司人事管理系统,想搜索李XX,只要输入“李”,系统自然会提示一些姓李的员工,这样方便用户 ...

  9. 分享一个国内首个企业级开源的GO语言网关--GoKu API Gateway

    一. 简介 GoKu API Gateway,中文名:悟空API网关,是国内首个开源go语言API网关,帮助企业进行API服务治理与API性能安全维护,为企业数字化赋能. GoKu API Gatew ...

随机推荐

  1. JDK8简化if-else

    简化if-else 1234567891011 User user = ...if (user != null) { String userName = user.getUserName(); if ...

  2. maven-compiler-plugin 指定jdk的版本和编码

    为了让maven的jdk编译版本一致, 使用maven-compiler-plugin插件来协助管理 建议新建maven项目后的第一步就是配置该插件 <build> <plugins ...

  3. SpringCloud入门之Maven系统安装及配置

    一.Maven 介绍 这个单词中文翻译为“专家”或“内行”.下面将向你介绍 Maven这一跨平台的项目管理工具.作为 Apache 组织中的一个成功的开源项目,Maven 主要服务于基 Java 平台 ...

  4. Linux下Nginx访问web目录提示403Forbidden

    在Linux下http服务器nginx时,访问web目录提示403 Forbidden,首先需要了解nginx出现403错误是什么意思: 403 Forbidden表示你在请求一个资源文件但是ngin ...

  5. webpack4 自学笔记五(tree-shaking)

    全部的代码及笔记都可以在我的github上查看, 欢迎star: https://github.com/Jasonwang911/webpackStudyInit/tree/master/ThreeS ...

  6. UIKit框架之NSObject

    首先学习NSObject // // ViewController.m // localization // // Created by City--Online on 15/5/15. // Cop ...

  7. [转]centos7 移动mysql5.7.19 数据存储位置

    本文转自:https://blog.csdn.net/chpllp/article/details/78211351 场景:随着数据量的增加,mysql所在的磁盘已占满,需要将data移动到空间较大的 ...

  8. iis 程序池设置及详解-20180720

    [非原创,好文收藏,分享大家] 公司的一个网站程序长时间运行后,速度变慢,重新启动网站后速度明显变快,估计是网站程序占用的内存和CPU资源没能及时释放,才需要每隔一段时间重启网站释放资源.但手工重启总 ...

  9. C#编译和运行过程图例

    一张图,描述C#编译和运行过程,比较容易记忆理解

  10. Jave Web阿里云短信服务发送验证码

    首先得在阿里云根据流程开通短信服务,申请签名和模版,具体看文档 因为这是个web项目,用到了thymeleaf模板,所以在pom.xml中加入如下依赖 <dependency> <g ...