docker安装mysql chown: changing ownership of '/var/lib/mysql/': Permission denied
centos7 第一次安装docker-compose后,使用进行安装mysql 一直在重启,利用 docker logs -f 查看日志
发现错误 chown: changing ownership of ‘’/var/lib/mysql/‘’: Permission denied’
发现是权限问题
查阅资料
如果是使用docker 命令启动 则 –privileged=true 赋予和宿主机一样的权限即可
终极大招
1234567891011121314151、/usr/sbin/sestatus -v ##如果SELinux status参数为enabled即为开启状态 SELinux status: enabled 2、getenforce ##也可以用这个命令检查关闭SELinux: 3、临时关闭(不用重启机器):setenforce 0 ##设置SELinux 成为permissive模式 ...
异常机制为什么耗时
异常机制为什么耗时异常是非常耗时的,因为他要取爬堆栈信息,所以非常耗时。fillInStackTrace我们可以重写fillInStackTrace方法实现高效的异常类或者将writableStackTrace 设置为false,这样也不抓取堆栈信息,但是会增加排查问题的成本。
jconsole与jvisualvm
jconsole环境变量配置好后 直接输入在cmd 输入jconsole 即可
jvisualvmcmd 输入jvisualvm
jvisualvm 能干什么监控内存泄露,跟踪垃圾回收,执行时内存、cpu 分析,线程分析… 运行:正在运行的休眠:sleep等待:wait驻留:线程池里面的空闲线程监视:阻塞的线程,正在等待锁
想要看gc 记得安装插件 visual Gc
在压力测试期间监听 这些Gc 指标监控docker 上的容器 使用docker stats
Gc1、几个常用工具jstack 查看 jvm 线程运行状态,是否有死锁现象等等信息jinfo 可以输出并修改运行时的 java 进程的 opts。jps 与 unix 上的 ps 类似,用来显示本地的 java 进程,可以查看本地运行着几个 java程序,并显示他们的进程号。jstat 一个极强的监视 VM 内存工具。可以用来监视 VM 内存内的各种堆和非堆的大小及其内存使用量。jmap 打印出某个 java 进程(使用 pid)内存内的所有’对象’的情况(如:产生那些对象,及其数量)
2、命令示例jstat 工具特别强大, ...
压力测试详解
压力测试压力测试是看当前软硬件环境下系统所能承受的最大负荷,找出系统瓶颈。为了在线上的处理能力和稳定性维持在一个标准范围内,做到心中有数。
在压力测试,我们希望找到其他测试方法(单元测试)更难发现的错误,比如内存泄漏,并发与同步问题。有效的压力测试将应用重复、并发、量级、随机变化的关键条件。
性能指标
响应时间(Response Time: RT)响应时间指用户从客户端发起一个请求开始,到客户端接收到从服务器端返回的响应结束,整个过程所耗费的时间。
HPS(Hits Per Second) :每秒点击次数,单位是次/秒。
TPS(Transaction per Second):系统每秒处理交易数,单位是笔/秒。
QPS(Query per Second):系统每秒处理查询次数,单位是次/秒。对于互联网业务中,如果某些业务有且仅有一个请求连接,那么 TPS=QPS=HPS,一般情况下用 TPS 来衡量整个业务流程,用 QPS 来衡量接口查询次数,用 HPS 来表示对服务器单击请求。
无论 TPS、QPS、HPS,此指标是衡量系统处理能力非 ...
阿里云部署k8s with kubesphere
阿里云ESC创建实例
填入密码即可
云上的防火墙相关设置就是安全组
vpc 专有网络 划分私有ip 子网
vpc 隔离环境域 不同的vpc下 即使相同的子网也不互通
使用交换机继续划分子网
停止 释放 不收钱
k8s服务器 4核8G/*1 + 8核16G /*2
git 创建凭证
pipeline 发邮箱 (p124)k8s 想要发邮件 admin 账号 登录 平台管理 平台设置 通知管理 邮件
admin 工作负载 jenkinsfile 编辑配置文件 配置邮箱
两个地址都需要配置
pipeline 推送镜像创建凭证
容器镜像服务 个人即可 创建仓库和命名空间 从一个仓库的基本信息中找到仓库地址例如registry.cn-hangzhou.aliyuncs.com找到命名空间 例如 jhj
deploy 部署创建kubeconfig拉取镜像 由于我们使用阿里云的 所以需要使用阿里云同时在项目的配置中心 密钥处配置 密钥类型
k8s kubekey 部署删除之前部署的kk
1./kk delete cluster -f config-sample.yaml
下载 ...
性能测试入门
性能测试入门一 不同角色看网站性能1.1 用户当用户打开一个网站的时候,最关注的是什么?当然是网站响应速度的快慢。比如我们点击了淘宝的主页,淘宝需要多久将首页的内容呈现在我的面前,我点击了提交订单按钮需要多久返回结果等等。
所以,用户在体验我们系统的时候往往根据你的响应速度的快慢来评判你的网站的性能。
1.2 开发人员用户与开发人员都关注速度,这个速度实际上就是我们的系统处理用户请求的速度。
开发人员一般情况下很难直观的去评判自己网站的性能,我们往往会根据网站当前的架构以及基础设施情况给一个大概的值,比如:
项目架构是分布式的吗?
用到了缓存和消息队列没有?
高并发的业务有没有特殊处理?
数据库设计是否合理?
系统用到的算法是否还需要优化?
系统是否存在内存泄露的问题?
项目使用的 Redis 缓存多大?服务器性能如何?用的是机械硬盘还是固态硬盘?
1.3 测试人员测试人员一般会根据性能测试工具来测试,然后一般会做出一个表格。这个表格可能会涵盖下面这些重要的内容:
响应时间;
请求成功率;
吞吐量;
1.4 运维人员运维人员会倾向于根据基础设施和资源的利用率来判断网站的性能,比 ...
冗余设计思想
冗余设计冗余设计是保证系统和数据高可用的最常的手段。
对于服务来说,冗余的思想就是相同的服务部署多份,如果正在使用的服务突然挂掉的话,系统可以很快切换到备份服务上,大大减少系统的不可用时间,提高系统的可用性。
对于数据来说,冗余的思想就是相同的数据备份多份,这样就可以很简单地提高数据的安全性。
实际上,日常生活中就有非常多的冗余思想的应用。
拿我自己来说,我对于重要文件的保存方法就是冗余思想的应用。我日常所使用的重要文件都会同步一份在 GitHub 以及个人云盘上,这样就可以保证即使电脑硬盘损坏,我也可以通过 GitHub 或者个人云盘找回自己的重要文件。
高可用集群(High Availability Cluster,简称 HA Cluster)、同城灾备、异地灾备、同城多活和异地多活是冗余思想在高可用系统设计中最典型的应用。
高可用集群 : 同一份服务部署两份或者多份,当正在使用的服务突然挂掉的话,可以切换到另外一台服务,从而保证服务的高可用。
同城灾备:一整个集群可以部署在同一个机房,而同城灾备中相同服务部署在同一个城市的不同机房中。并且,备用服务不处理请求。这样可以避免机房出 ...
高可用系统
高可用系统什么是高可用?可用性的判断标准是啥?高可用描述的是一个系统在大部分时间都是可用的,可以为我们提供服务的。高可用代表系统即使在发生硬件故障或者系统升级的时候,服务仍然是可用的。
一般情况下,我们使用多少个 9 来评判一个系统的可用性,比如 99.9999% 就是代表该系统在所有的运行时间中只有 0.0001% 的时间是不可用的,这样的系统就是非常非常高可用的了!当然,也会有系统如果可用性不太好的话,可能连 9 都上不了。
除此之外,系统的可用性还可以用某功能的失败次数与总的请求次数之比来衡量,比如对网站请求 1000 次,其中有 10 次请求失败,那么可用性就是 99%。
哪些情况会导致系统不可用?
黑客攻击;
硬件故障,比如服务器坏掉。
并发量/用户请求量激增导致整个服务宕掉或者部分服务不可用。
代码中的坏味道导致内存泄漏或者其他问题导致程序挂掉。
网站架构某个重要的角色比如 Nginx 或者数据库突然不可用。
自然灾害或者人为破坏。
有哪些提高系统可用性的方法?注重代码质量,测试严格把关我觉得这个是最最最重要的,代码质量有问题比如比较常见的内存泄漏、循环依赖都是 ...
CDN 内容分发网络
CDN常见问题什么是 CDN ?CDN 全称是 Content Delivery Network/Content Distribution Network,翻译过的意思是 内容分发网络 。
我们可以将内容分发网络拆开来看:
内容:指的是静态资源比如图片、视频、文档、JS、CSS、HTML。
分发网络:指的是将这些静态资源分发到位于多个不同的地理位置机房中的服务器上,这样,就可以实现静态资源的就近访问比如北京的用户直接访问北京机房的数据。
所以,简单来说,CDN 就是将静态资源分发到多个不同的地方以实现就近访问,进而加快静态资源的访问速度,减轻服务器以及带宽的负担。
类似于京东建立的庞大的仓储运输体系,京东物流在全国拥有非常多的仓库,仓储网络几乎覆盖全国所有区县。这样的话,用户下单的第一时间,商品就从距离用户最近的仓库,直接发往对应的配送站,再由京东小哥送到你家。
你可以将 CDN 看作是服务上一层的特殊缓存服务,分布在全国各地,主要用来处理静态资源的请求。
我们经常拿全站加速和内容分发网络做对比,不要把两者搞混了!全站加速(不同云服务商叫法不同,腾讯云叫 ECDN、阿 ...
Dubbo
DubboDubbo 基础什么是 Dubbo?Apache Dubboopen in new windowhttps://github.com/apache/dubbo |ˈdʌbəʊ| 是一款高性能、轻量级的开源 WEB 和 RPC 框架。
根据 Dubbo 官方文档open in new windowhttps://dubbo.apache.org/zh/的介绍,Dubbo 提供了六大核心能力
面向接口代理的高性能 RPC 调用。
智能容错和负载均衡。
服务自动注册和发现。
高度可扩展能力。
运行期流量调度。
可视化的服务治理与运维。
简单来说就是:Dubbo 不光可以帮助我们调用远程服务,还提供了一些其他开箱即用的功能比如智能负载均衡。
为什么要用 Dubbo?随着互联网的发展,网站的规模越来越大,用户数量越来越多。单一应用架构、垂直应用架构无法满足我们的需求,这个时候分布式服务架构就诞生了。
分布式服务架构下,系统被拆分成不同的服务比如短信服务、安全服务,每个服务独立提供系统的某个核心服务。
我们可以使用 Java RMI(Java Remote Method Invoc ...