- 博客(76)
- 资源 (6)
- 收藏
- 关注
原创 kill死锁(当你找不到sessionid的时候)
1、找到threadidSELECT * FROM performance_schema.data_locks;2、通过threadid查找到sessionidSELECT THREAD_ID, CONNECTION_ID() AS CURRENT_SESSION_IDFROM performance_schema.threads where THREAD_ID ='threadid';3、kill sessionid
2024-03-20 11:06:23 114
原创 隐式转换导致慢sql引起的性能问题
d.修复代码屏将这个intervalTimeMills设置为1,此时代码就不会走这个sleep,修复后调用链如下,第三方接口时间确实提升,但是性能确实还是提升不了,继续看调用链和堆栈日志分析。c. 查看源码发现项目组使用的第三方jar包,有这样的代码,在http请求后,在finally里使用了sleep ,大致意思就是 如果调用花费200ms,就需要sleep800ms。取该sql分析,发现因为字符集编码导致隐式转换,不走索引了,取出sql分析。2.表字符集不同,导致出现了隐式转换,索引失效。
2023-10-07 14:33:31 127
原创 线上一个索引引起的重大故障
1.问题 项目组接过来的一个老项目,这几天依赖方突然报障,有一个接口一直超时调不通,被用户投诉升级为重大故障。 因为是在我之前就交接过来的而前这个项目就没修改过代码所以对此业务不了解,人最怕自己不熟悉的,悲剧。。。2.解决过程 分析过程: 这时候只能硬着头皮上先解决问题,先看接口的调用链,发现在执行sql的prepareStatment调用链就断了,这时候就初步怀疑是sql问题。 因为本地没代码去仓库拉代码看看这个方法做了什么事,简要的说下这个超时的方法做了什么事...
2021-10-13 15:20:48 126
原创 WAF拦截导致接口403问题
1.问题 最近博主刚上线的项目遇到一个问题,新上的某些接口报403错误,而某些接口是ok的,2.解决 拿到这个问题是403 Forbidden没有权限访问此网站。翻译一下就是服务器理解此请求,但是拒绝为此请求服务。 接着博主立马到日志中心,线上容器里捞日志,查无日志。调用链也没任何显示。因为接口在app端出问题,又移动端抓包同样403,也无日志。但是内网的pc端这个接口却是正常的请求返回 这时候博主心里有数了,说明接口没有到达服务,稍微有点思...
2021-10-11 19:43:11 2206
转载 Web应用防火墙WAF简介
本文将对Web应用防火墙(WAF)做一个简单介绍,主要会讨论下面几个主题:WAF预防的攻击类型 WAF部署方式 WAF安全模式 开放Web应用安全项目(OWASP) WAF和DDos WAF测试 WAF和传统防火墙的区别Web应用防火墙可以防止Web应用免受各种常见攻击,比如SQL注入,跨站脚本漏洞(XSS)等。WAF也能够监测并过滤掉某些可能让应用遭受DOS(拒绝服务)攻击的流量。WAF会在HTTP流量抵达应用服务器之前检测可疑访问,同时,它们也能防止从Web应用获取某些未经授权的数据。
2021-10-11 19:06:14 2468
原创 避免/null/swagger-resources/死循环,升级swagger2.0到3.0踩坑记录
1.问题 由于安全原因需要屏蔽生产的swagger的页面,是整个页面都屏蔽,而不是屏蔽接口,需要的效果就是访问的时候是404博主按照网上一整搜索,下面列出:1.https://www.cnblogs.com/anakin/p/8569820.html2.https://blog.csdn.net/wangxy_job/article/details/106669805一顿操作上了生产后出了问题,浏览器窗口一直弹窗,日志一直打印显示swagger死循环,/null/swagger-r...
2021-10-11 18:38:10 2895
原创 线上mongodb集群不可用
1.现象Error in heartbeat (requestId: 564255) to 10.XX.XXX.XXX:27019, response status: HostUnreachable: Error connecting to 10.3.28.205:27019 :: caused by :: No route to host
2021-08-02 17:29:47 1364 2
原创 mysql临时表空间引发的主机重启
1.问题线上的mysql MGR集群突然有一台实例无法连接,检查发现是因为根目录被撑爆,导致OS重启,mysql服务挂了,进一步发现是因为临时表空间放在了根目录,但是这个临时表空间设置最大 innodb_temp_data_file_path = ibtmp1:10G:autoextend 而这个10G已经超过了这个磁盘目录最大存储。2.MySql临时表空间MySQL在以下几种情况会创建临时表:1、UNION查询;2、用到TEMPTABLE算法或者是UNION查询中的视图;3、ORD
2021-07-14 15:35:41 131
原创 elasticsearch相关操作
1.创建索引PUT /test_index ---这种方始会初始化一个主分片一个副本,不可修改2.创建索引和分片及副本PUT /test_index3{ "settings": { "number_of_shards": 3, "number_of_replicas": 2 }} 3.添加索引映射POST /test_index3/_mapping{ "properties":{ "name":{ "type":"keyword"
2021-06-05 14:46:46 82
原创 git ssh add
1、执行生成公钥和私钥的命令ssh-keygen -t rsa 并按回车3下(为什么按三下,是因为有提示你是否需要设置密码,如果设置了每次使用Git都会用到密码,一般都是直接不写为空,直接回车就好了)2.通过结果显示及cat命令查看可知public key存放于id_rsa.pub3.到github右上角账户管理-Setting下面找到左侧“SSH and GPG keys”菜单,接着点击“Add SSH key”,在”title”栏输入一个自己喜欢的标题,“key”栏中粘贴刚刚复制的公钥内容,最后点击
2021-06-05 14:44:26 329
原创 Mongodb常用命令
1.创建数据库//如果数据库不存在,则创建数据库,否则切换到指定数据库use test//开启分片sh.enableSharding("test");//查看数据库状态db.stats()2.添加用户且认证数据库//admin 下创建用户 Database User Roles: read|readWrite Database Admin Roles: dbAdmin|dbOwner|userAdmin// Cluster Admin Roles: clusterAdmin|cl
2021-06-05 10:45:59 206
原创 线上cpu飙升解决方案
1.top定位哪个进程占用cpu最高#查看当前占用资源最多的进程$ top PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 40 root 20 0 4289m 874m 13312 S 123.0 10.9 10:39.73 java PID — 进程id USER — 进程所有者 PR — 进程优先级 NI —
2021-06-04 11:15:42 262
原创 Linux的vmstat命令
1.安装yum install sysstat2.相关参数-a:显示活跃和非活跃内存;-f:显示从系统启动至今的fork数量;-m:显示slabinfo;-n:只在开始时显示一次各字段名称;-s:显示内存相关统计信息及多种系统活动数量;delay:刷新时间间隔,如果不指定,只显示一条结果;count:刷新次数,如果不指定刷新次数,但指定了刷新时间间隔,这时刷新次数为无穷;-d:显示磁盘相关统计信息;-p:显示指定磁盘分区统计信息;-S:使用指定单位显示,参数有 k 、K 、m 、M
2021-06-04 10:58:15 169
原创 Linux的iostat命令
Linux的iostat命令 Linux的iostat命令1.iostat安装yum install systat2.参数说明-c 显示CPU使用情况-d 显示磁盘使用情况-k 以K为单位显示-m 以M为单位显示-N 显示磁盘阵列(LVM) 信息-n 显示NFS使用情况-p 可以报告出每块磁盘的每个分区的使用情况-t 显示终端和CPU的信息-x 显示详细信息3.所有设备负载情况[[email protected]
2021-06-04 10:54:24 122
原创 ThreadPoolUtil
import org.apache.log4j.Logger;import java.util.ArrayList;import java.util.List;import java.util.concurrent.Callable;import java.util.concurrent.ExecutionException;import java.util.concurrent.Exe...
2019-07-29 22:56:46 304
原创 浏览器小插件
background.jsvip_url = { '百度': 'http://baidu.com', '百度': 'http://baidu.com', '百度': 'http://baidu.com', '百度': 'http://baidu.com', '百度': 'http://baidu.com'};function openNewTab(url) { ...
2019-07-15 23:06:47 319
原创 maven打2个jdk版本的包 jdk1.8和jdk1.7的
只要在pom里加如下, install的时候 加mvn -P jdk1.7 ,会出现2个包<profiles> <profile> <id>jdk1.7</id> <build> <plugins> <plugin> <artifactId&
2018-08-14 19:15:38 3516
原创 最近在研究java.util的源码
其中实现了 1、ArrayList2、 LinkedList3、HashMap............接下来会有更多实现代码已经提交到我的git上。附地址:https://github.com/original-coding/impljdk
2017-11-14 20:46:57 669
转载 (webservice) apache CXF wsdl2java工具的使用
摘要: 记录一下apache CXF wsdl2java工具的简单使用最近,由于要用到某公司提供的webservice实现的api接口,想到了用cxf的wsdl2java工具来生成客户端程序。(自己写是比较麻烦且费时,so偷懒一下、、)使用步骤如下:一、下载apache cxf的包,如apache-cxf-2.7.10.zip,地址:cxf.apache.org/downloa
2017-10-25 20:22:43 352
原创 solr学习问题
一、下载下载目录:http://apache.fayea.com/lucene/solr/6.5.0/下载zip包地址:http://apache.fayea.com/lucene/solr/6.5.0/solr-6.5.0.zip二、安装与启动# 解压zip包unzip solr-6.5.0.zip#进入solr-6.5.0目录cd solr-6.5.0#启动
2017-10-24 19:15:20 198
原创 oracle的存储过程
资料:http://blog.csdn.net/christine_ruan/article/details/7584832declare –常量定义部分 v_channelId number(11); v_channelName varchar2(64); begin –执行部分 select id,channel_name into v_cha
2017-10-24 19:12:20 267
原创 nginx+redis实现tomcat session共享
1、tomcat部分配置在tomcat的conf目录中context.xml文件的中添加以下内容#其中host为redis的ip地址,password为密码,port为端口 Valve className="com.orangefunction.tomcat.redissessions.RedisSessionHandlerValve" /> Manager
2017-10-24 19:06:02 321
原创 Array.asList()和javaBean转array
1、javabean转数组,先转list再转数组product = new product();List list = new ArrayList();list.add(product);list.toArray();2、List list = Arrays.asList()http://blog.csdn.net/chenleixing/article/details
2017-10-24 18:48:04 535
原创 OutOfMemoryError --- Java heap space
2016年9月16日 每周一篇博客 发生这种问题的原因是java虚拟机创建的对象太多,在进行垃圾回收之间,虚拟机分配的到堆内存空间已经用满了,与Heap space有关。解决这类问题有两种思路:1. 检查程序,看是否有死循环或不必要地重复创建大量对象。找到原因后,修改程序和算法。2. 增加Java虚拟机中Xms(初始堆大小)和Xmx(最大堆大小)参数的大小。如:set
2016-09-16 11:08:14 559
原创 oracle锁表问题和用plsql 去update数据问题
2016年9月10日 每周一篇博客 遇到oracle的事务锁 1.查看锁住的表 1)、 SELECT b.owner,b.object_name,a.session_id,a.locked_mode
2016-09-10 11:56:11 3011
原创 java之Iterator迭代器
List options = new ArrayList(); Iterator iterator= options.iterator(); while(iterator.hasNext()){ SelectModel model = iterator.next(); if(" a".equals(model.ge
2016-09-04 15:48:16 358 1
原创 linux发布war包应用的常用命令
2016年8月20日 每周一篇博客 1 . cd 命令 这个我就不说了哈。 2. ls 命令 当前的工作目录中有些什么文件或目录,白色的文件:一般的文件,蓝色的文件:目录 ,绿色的文件:可执行文件为了知道文档更多的信息,可以使用ls -l 或者ll 或者ls-lrt ,这样就可以知道文档的权限、拥有者、大小、日期等相关的信息 3 . pwd 命令: 如果切换目录次
2016-08-20 17:12:13 4008 1
原创 一些项目中遇到的小问题
2016年8月20日 每周一篇博客 1. 在项目中某个页面用到的jq版本高于框架的,但是这个页面又需要使用框架封装的js(该js必须使用框架的jq)怎么解决?(iframe标签,强大而又经常被遗忘的标签) 在该页面插入一个引入框架的空白页(空白页含义是防止加载过多内容导致速度慢)属性为hidden,该页面中引入框架需要的js,用iframe标签
2016-08-20 16:20:34 575
原创 项目中遇到的一个js页面加载问题
1.在一个jsp页面中我引入了2个js 这2个js中的默认加载$(function(){});在页面初始化时都会进入加载起初我在/MutiCityTreeTable.js中$(function(){%("#ID").html(''); });导致MutiSubjectTreeTable.js中id为
2016-04-19 20:02:23 407
原创 eclipse拿到手需要干的那些事
Eclipse 那些事 当我们打开eclipse的工作空间时在部署项目前,首先有些事需要我们去做,本文总结的就是eclipse的那些事。以下几点总结给那些刚拿到eclipse或者遗忘了某些配置的挨踢男或者女(本文不说明原理只说配置) 1、eclipse的编码格式。 该链接详细说明了修改eclipse工作空间
2016-03-09 20:56:04 566
ASP.NET学生成绩系统
2015-04-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人