- 博客(19)
- 收藏
- 关注
原创 springcloud-单个服务无法处理新的请求
前言:最近生产上出现一个问题,描述如下:springcloud分布式环境下,服务B无法处理新进来的请求,且zuul服务一直在走降级逻辑。服务调用情况:zuul->服务A->服务B问题分析:1.首先查看tomcat连接是不是满了,通过netstat -nat|grep -i “服务B端口号”|grep ESTABLISHED|wc -l,连接数为300多,tomcat默认最...
2019-01-31 22:12:03 402
原创 JAVA并发-验证sychronized锁升级、降级
前言:也许有些东西不去验证不去探索,终究还只是资料,变不成知识,人生漫漫,见到的很多,知道得很少,精力有限,做个知道的人,哪怕知道那么一点也可以.先贴一张synchronized锁图,下面通过实验来验证下该图描述是否正确。相关信息:1.主要工具:jdk自带HSDB工具,HSDB具体是啥,我百度下:HSDB则是在SA基础上包装起来的一个调试器,至于SA是啥,再百度下:是个非常便于探索H...
2019-01-27 07:57:38 779 1
原创 innodb锁-insert导致的死锁
前言:之前分析了间隙锁以及行锁导致死锁的案例,后来我在学习插入意向锁的过程中,了解到单纯地插入操作也可能会导致死锁,所以也模拟下这种场景,以后遇到类似问题也不至于慌乱.同一条插入sql引发的死锁环境准备1.创建表:CREATE TABLE `test_user` ( `user_id` bigint(20) NOT NULL AUTO_INCREMENT, `name` ch...
2019-01-18 21:59:25 1660 1
原创 innodb-隐式提交
隐式提交1.DDL语句或者修改数据库对象的语句Data definition language (DDL) statements that define or modify database objects.例如:ALTER DATABASE … UPGRADE DATA DIRECTORY NAME, ALTER EVENT, ALTER PROCEDURE, ALTER SERVER...
2019-01-18 21:41:18 553
原创 innodb-自动提交、提交、回滚
自动提交、提交、回滚1.如果启用了自动提交的会话可以通过使用显式START TRANSACTION或BEGIN语句启动并使用COMMIT或ROLLBACK语句结束来执行多语句事务。A session that has autocommit enabled can perform a multiple-statement transaction by starting it with an e...
2019-01-18 21:32:11 737
原创 innodb-四种隔离级别
四种隔离级别1.innodb有四种标准的隔离级别:READ UNCOMMITTED, READ COMMITTED, REPEATABLE READ, SERIALIZABLE.默认隔离级别是REPEATABLE READInnoDB offers all four transaction isolation levels described by the SQL:1992 standard...
2019-01-18 21:23:43 1072
原创 innodb-错误处理
错误处理1.如果表空间满了,innodb会回滚整个事务If you run out of file space in a tablespace, a MySQL Table is full error occurs and InnoDB rolls back the SQL statement.2.死锁会导致innod回滚整个事务A transaction deadlock caus...
2019-01-18 20:58:47 453
原创 innodb-非锁定一致性读
非锁定一致性读1.在RR和RC隔离级别下一致性读是innodb默认的模式,一致性读不会加任何锁,不影响其他事务来修改相关数据Consistent read is the default mode in which InnoDB processes SELECT statements in READ COMMITTED and REPEATABLE READ isolation levels....
2019-01-18 20:55:15 274
原创 innodb锁-不同索引下更新sql的加锁过程
一、根据主键更新mysql> start transaction;Query OK, 0 rows affected (0.00 sec)mysql> update test_user set status=1 where user_id=1;Query OK, 0 rows affected (0.00 sec)Rows matched: 1 Changed: 0 W...
2019-01-13 17:00:53 762
原创 innodb锁-开启锁监控功能
开启锁监控功能有两种方式:一.创建innodb_lock_monitor表二.设置全局属性innodb_status_output=1&innodb_status_output_locks=1第一种方式:开启:CREATE TABLE innodb_lock_monitor (a INT) ENGINE=INNODB;关闭:DROP TABLE innodb_lock_mon...
2019-01-13 16:55:05 1719
原创 innodb锁-innodb表锁
innodb表锁:不像myisam表可以自动锁表,需要手动执行lock tables …read/write来进行锁表操作表锁使用:1.使用LOCK TABLES虽然可以给InnoDB加表级锁,但必须说明的是,表锁不是由InnoDB存储引擎层管理的,而是由其上一层──MySQL-Server负责的,仅当autocommit=0、innodb_table_locks=1(默认设置)时,Inn...
2019-01-13 16:31:50 510
原创 innodb锁-共享锁排他锁
前言:Shared and Exclusive Locks译称共享锁/排他锁,本文参考官方文档进行学习说明外加实验例子数据库版本:SELECT VERSION();±-----------+| version() |±-----------+| 5.6.34-log |±-----------+数据库引擎:show variables like ‘%engine%’;±...
2019-01-13 16:27:05 714 1
原创 innodb锁-插入意向锁
前言:Insert Intention Locks译称插入意向锁,首先强调插入意向锁是间隙锁的一种,本文参考官方文档进行学习说明数据库版本:SELECT VERSION();±-----------+| version() |±-----------+| 5.6.34-log |±-----------+数据库引擎:show variables like ‘%engine...
2019-01-13 16:20:12 2469 4
原创 innodb锁-next-key锁
前言:Next-Key Locks译称Next-Key锁,本文参考官方文档进行学习说明外加实验例子数据库版本:SELECT VERSION();±-----------+| version() |±-----------+| 5.6.34-log |±-----------+数据库引擎:show variables like ‘%engine%’;±----------...
2019-01-13 16:13:11 544
原创 innodb锁-间隙锁
前言:Gap Locks译称间隙锁,本文参考官方文档进行学习说明外加实验例子数据库版本:SELECT VERSION();±-----------+| version() |±-----------+| 5.6.34-log |±-----------+数据库引擎:show variables like ‘%engine%’;±---------------------...
2019-01-13 16:06:56 1794
原创 innodb锁-意向锁
前言:Intention Locks译称意向锁,Insert Intention Locks译称插入意向锁,本文参考官方文档进行学习说明数据库版本:SELECT VERSION();±-----------+| version() |±-----------+| 5.6.34-log |±-----------+数据库引擎:show variables like ‘%en...
2019-01-13 16:01:26 1565
原创 mysql锁-innodb间隙锁死锁分析
前言:在上篇里分析了一次mysql死锁问题,后来又深入研究了下死锁的其他场景,innodb间隙锁场景下也可能会发生死锁,所以进一步巩固下间隙锁的知识gap锁定义:1.gap就是索引树中插入新记录的空隙2.相应的gap锁就是加在gap上的锁gap锁作用:防止幻读,通过间隙锁阻止特定条件的新记录的插入,后面单独就那些验证幻读现象注意:1. 只在REPEATABLE READ...
2019-01-07 21:40:39 8701 13
原创 springboot-@Async默认线程池导致OOM问题
前言:1.最近项目上在测试人员压测过程中发现了OOM问题,项目使用springboot搭建项目工程,通过查看日志中包含信息:unable to create new native thread内存溢出的三种类型:1.第一种OutOfMemoryError: PermGen space,发生这种问题的原意是程序中使用了大量的jar或class2.第二种OutOfMemoryError: ...
2019-01-02 11:23:44 55870 14
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人