当前位置: 首页 > news >正文

网站开发专业课程千锋教育课程

网站开发专业课程,千锋教育课程,土地违法建设投诉网站,新网域名管理目录 一、测试版本 二、模拟锁表场景 1、查看自动提交参数 2、关闭自动提交 3、测试表结构 4、测试数据 5、会话一更新数据不提交 6、会话二更新数据卡住 7、会话三查看连接信息 8、会话三查看锁信息 9、解决方法 10、会话一插入数据不提交 11、会话二更新报错 三…目录 一、测试版本 二、模拟锁表场景 1、查看自动提交参数 2、关闭自动提交 3、测试表结构 4、测试数据 5、会话一更新数据不提交 6、会话二更新数据卡住 7、会话三查看连接信息 8、会话三查看锁信息 9、解决方法 10、会话一插入数据不提交 11、会话二更新报错 三、总结 一、测试版本 名称值CPUIntel(R) Core(TM) i5-1035G1 CPU 1.00GHz操作系统CentOS Linux release 7.9.2009 (Core)内存3G逻辑核数2Gbase8a版本8.6.2-R43 二、模拟锁表场景 打开三个会话。 1、查看自动提交参数 gbase show variables like%commit%; --------------------------------------------------------------------- | Variable_name | Value | --------------------------------------------------------------------- | _t_gcluster_commit_revert_flag_test | 1 | | autocommit | ON | | gbase_tcmalloc_aggressive_decommit_threadhold_load_factor | 0.900000 | | gbase_tcmalloc_balanced_decommit_threadhold_load_factor | 0.600000 | | gcluster_kafka_batch_commit_dml_count | 100000 | | gcluster_kafka_parallel_commit | 1 | --------------------------------------------------------------------- 6 rows in set (Elapsed: 00:00:00.00) 2、关闭自动提交 gbase set autocommit 0; Query OK, 0 rows affected (Elapsed: 00:00:00.00) 前两个会话设置非自动提交。 3、测试表结构 gbase desc czg.testtab; --------------------------------------------------------------------------------- | Field | Type | Null | Key | Default | Extra | --------------------------------------------------------------------------------- | a | int(11) | YES | | NULL | | | b | double | YES | | NULL | | | c | varchar(100) | YES | MUL | NULL | | | d | text | YES | | NULL | | | e | blob | YES | | NULL | | | f | longblob | YES | | NULL | | | g | date | YES | | NULL | | | h | timestamp | NO | | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP | | i | decimal(10,2) | YES | | NULL | | --------------------------------------------------------------------------------- 9 rows in set (Elapsed: 00:00:00.05) 4、测试数据 gbase select * from czg.testtab limit 10; ---------------------------------------------------------------------------------------------------------------------------- | a | b | c | d | e | f | g | h | i | ---------------------------------------------------------------------------------------------------------------------------- | 1 | 1.1 | czg | 快乐的小天使 | qwertasdsdfzxczxxv | gregergjsfishfuieehfuiew | 1995-09-18 | 2022-08-03 09:24:00 | 1.00 | | 1 | 1.1 | czg | 快乐的小天使 | qwertasdsdfzxczxxv | gregergjsfishfuieehfuiew | 1995-09-18 | 2022-08-03 09:24:00 | 1.00 | | 1 | 1.1 | czg | 快乐的小天使 | qwertasdsdfzxczxxv | gregergjsfishfuieehfuiew | 1995-09-18 | 2022-08-03 09:24:00 | 1.00 | | 1 | 1.1 | czg | 快乐的小天使 | qwertasdsdfzxczxxv | gregergjsfishfuieehfuiew | 1995-09-18 | 2022-08-03 09:24:00 | 1.00 | | 1 | 1.1 | czg | 快乐的小天使 | qwertasdsdfzxczxxv | gregergjsfishfuieehfuiew | 1995-09-18 | 2022-08-03 09:24:00 | 1.00 | | 2 | 1.1 | czg | 快乐的小天使 | qwertasdsdfzxczxxv | gregergjsfishfuieehfuiew | 1995-09-18 | 2022-08-03 09:24:00 | 2.00 | | 2 | 4.1 | czg | 快乐的小天使 | qwertasdsdfzxczxxv | gregergjsfishfuieehfuiew | 1995-09-18 | 2022-08-03 09:24:00 | 1.10 | | 2 | 4.1 | czg | 快乐的小天使 | qwertasdsdfz\xczxxv | gregergjsfishfuieehfuiew | 1995-09-18 | 2022-08-03 09:24:00 | 1.10 | | 2 | 4.1 | czg | 快乐的小天使 | qwertasdsdfz.xczxxv | gregergjsfishfuieehfuiew | 1995-09-18 | 2022-08-03 09:24:00 | 1.10 | | 2 | 4.1 | czg | 快乐的小天使 | qwertasdsdfz.xczxxv | gregergjsfishfuieehfuiew | 1995-09-18 | 2022-08-03 09:24:00 | 1.10 | ---------------------------------------------------------------------------------------------------------------------------- 10 rows in set (Elapsed: 00:00:02.51) 5、会话一更新数据不提交 gbase update czg.testtab set d JJLGG where a 2;Query OK, 1310720 rows affected (Elapsed: 03:28:21.03) Rows matched: 1310720 Changed: 1310720 Warnings: 0 6、会话二更新数据卡住 gbase update czg.testtab set d HappySunshine where a 1;我们更新的是不同的行却锁住了说明Gbase8a不支持行锁这里加的是表锁。 7、会话三查看连接信息 [gbaseczg2 ~]$ gccli -e show detail processlist; ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | Id | Tid | User | Host | db | Command | Time | State | Lock | Wait | Info | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | 1 | 5752 | event_scheduler | localhost | NULL | Daemon | 80337 | Waiting for next activation | NULL | NULL | NULL | | 276 | 78263 | root | localhost | NULL | Sleep | 172223 | | NULL | NULL | NULL | | 277 | 78372 | root | 192.168.142.12:35329 | zxj | Sleep | 172223 | | NULL | NULL | NULL | | 585 | 94012 | root | localhost | information_schema | Query | 205 | checking permissions | czg | czg.testtab02076d53-3c94-4aa4-b020-b9df0c802739 | update czg.testtab set d HappySunshine where a 1 | | 589 | 95886 | root | localhost | NULL | Sleep | 19292 | | czg;czg.testtab02076d53-3c94-4aa4-b020-b9df0c802739;czg.testtab580D5F90-B287-4199-B057-E6FBD44B5BFA;czg.testtab6ef6f8a9-87f0-4d6c-8043-899367d02df3 | NULL | NULL | | 642 | 2049 | root | localhost | NULL | Query | 0 | NULL | NULL | NULL | show detail processlist | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 这些字段的含义为 字段描述Id连接编号。Tid线程号。User登录数据库用户。Host连接源端的ip和端口。db连接的数据库。Command当前执行的命令。Time上面命令执行的时间。单位秒StateSQL的运行状态。Lock持有的锁。Wait等待的锁。Info执行的SQL语句。 我们主要看589和585。 585的Statechecking permissions表示在检查权限。Waitczg.testtab02076d53-3c94-4aa4-b020-b9df0c802739表示等待锁czg.testtab02076d53-3c94-4aa4-b020-b9df0c802739。 589的Lockczg;czg.testtab02076d53-3c94-4aa4-b020-b9df0c802739;czg.testtab580D5F90-B287-4199-B057-E6FBD44B5BFA;czg.testtab6ef6f8a9-87f0-4d6c-8043-899367d02df3表示持有锁 1czg 2czg.testtab02076d53-3c94-4aa4-b020-b9df0c802739和585等待的锁一样 3czg.testtab580D5F90-B287-4199-B057-E6FBD44B5BFA 4czg.testtab6ef6f8a9-87f0-4d6c-8043-899367d02df3 说明589一直占有锁未释放导致585一直等待。再看589的CommandSleep表示为空闲状态。那我们可以断定是589没有执行提交操作导致的锁等待。如果589是Query那就有可能是执行慢导致其他会话卡住。具体情况具体分析吧。 8、会话三查看锁信息 [gbaseczg2 ~]$ gcadmin showlock| GCLUSTER LOCK |-------------------------------------------------------------------------------------------------------------------| Lock name | owner | content | create time |orphan|type|-------------------------------------------------------------------------------------------------------------------| czg |192.168.142.12|LOCK_Reserved: 589(LWP:95886) |20231109105742|FALSE | S |-------------------------------------------------------------------------------------------------------------------| czg |192.168.142.12|LOCK_Reserved: 585(LWP:94012) |20231109161549|FALSE | S |-------------------------------------------------------------------------------------------------------------------|czg.testtab02076d53-3c94-4aa4-b020-b9df0c802739|192.168.142.12|LOCK_Rebalance: 589(LWP:95886)|20231109142557|FALSE | E |-------------------------------------------------------------------------------------------------------------------|czg.testtab580d5f90-b287-4199-b057-e6fbd44b5bfa|192.168.142.12| LOCK_DMLEX: 589(LWP:95886) |20231109142557|FALSE | E |-------------------------------------------------------------------------------------------------------------------|czg.testtab6ef6f8a9-87f0-4d6c-8043-899367d02df3|192.168.142.12| LOCK_DMLEX: 589(LWP:95886) |20231109142557|FALSE | E |-------------------------------------------------------------------------------------------------------------------Total : 5 参数描述Lock name锁的名称。owner持有锁的节点IP。content第一个数字是Id连接编号。 第二个数字是线程号。create time锁创建日期。orphan是否为孤儿锁。typeS共享锁。E排他锁。 9、解决方法 1方法一589对应的会话进行提交。 2方法二开一个新会话kill 589。 3方法三通过官方的python gcware接口去释放。 查看锁demo #encoding:utf-8 import gcwareSUCCESS_FLAG 1 FAIL_FLAG 0def ReleaseLock(TableName, LockId):if gcware.unlocktableforce(TableName,LockId) ! 0:print(ReleaseLock : OK, TableName : %s, LockId : %s%(TableName,LockId))return SUCCESS_FLAGelse:print(ReleaseLock : Fail, TableName : %s, LockId : %s%(TableName,LockId))return FAIL_FLAGif __name__ __main__:for i in gcware.getlocks():for j in i:print(%-20s : %s%(j,i[j]))print() TableName就是下面的nameLockId就是下面的lockid。大家可以自己调用ReleaseLock尝试释放锁建议大家不要用gcware接口。 运行效果 create time : 20231109105742 name : czg lockid : 9114802754034860036 orphan : FALSE content : LOCK_Reserved: 589(LWP:95886) owner : 192.168.142.12 type : SHAREcreate time : 20231109161549 name : czg lockid : 171802565900500995 orphan : FALSE content : LOCK_Reserved: 585(LWP:94012) owner : 192.168.142.12 type : SHAREcreate time : 20231109142557 name : czg.testtab02076d53-3c94-4aa4-b020-b9df0c802739 lockid : 8869015163097841664 orphan : FALSE content : LOCK_Rebalance: 589(LWP:95886) owner : 192.168.142.12 type : EXCLUSIVEcreate time : 20231109142557 name : czg.testtab580d5f90-b287-4199-b057-e6fbd44b5bfa lockid : 2937847747467804673 orphan : FALSE content : LOCK_DMLEX: 589(LWP:95886) owner : 192.168.142.12 type : EXCLUSIVEcreate time : 20231109142557 name : czg.testtab6ef6f8a9-87f0-4d6c-8043-899367d02df3 lockid : 6284283086788100098 orphan : FALSE content : LOCK_DMLEX: 589(LWP:95886) owner : 192.168.142.12 type : EXCLUSIVE10、会话一插入数据不提交 gbase insert into czg.testtab values(1,1.1,asdasd,zxj,dfd,asd,1995-09-18,2023-08-03 09:24:00,1.00); Query OK, 1 row affected (Elapsed: 00:00:00.14) 11、会话二更新报错 gbase update czg.testtab set d JJLGG where a 2; ERROR 1727 (HY000): try to lock in gcluster failed: (GBA-02LO-0002) Cant lock file(already exists). 三、总结 序号描述1Gbase8a锁支持粒度为表级。2并发更新或删除同一张表时其中一个会话执行较慢导致其他会话等待。3会话一更新或删除A表会话二插入A表无论会话一二的执行顺序都会提示报错ERROR 1727 (HY000): try to lock in gcluster failed: (GBA-02LO-0002) Cant lock file(already exists).。
http://www.pierceye.com/news/160471/

相关文章:

  • 上海网站建设上海黄金线上学编程哪个机构比较好
  • 个人网站能 做淘客吗徐州网站建设工作室
  • 网站公司备案通知百度seo文章
  • 做网站专业服务新网域名官网
  • 网站dns多久刷新广州网站建设开发
  • 标准网站有哪些西安市沣东新城建设局网站
  • 对php网站开发技术课程总结广州网站策划公司
  • 站长工具爱站微信服务商平台官网
  • 中山市网站建设公司网页设计与制作教程第4版
  • 旅游类网站开发设计报告工信部清理未备案网站
  • 永久免费自助建站源代码行业类网站模板
  • 通辽建设网站知名品牌形象设计公司
  • 做一家网站费用网站建设有关的职位
  • 网站后台无编辑器扒人家网站做网站
  • 有什么网站做打印店网站开发计划甘特图
  • 网页模板好的网站好滑县网站建设服务
  • 做网站需要学会些什么建设网银登录官方网站
  • phpcms双语网站怎么做深圳做地铁的公司网站
  • 郑州的电子商城网站建设济南网站建设大标网络
  • 网站建设前端和后端的区别网站建设未来发展
  • 深圳网站制作公司建设网站seo视频狼雨seo教程
  • 建网站做优化重庆世界500强企业
  • 手机网站建设合同拼多多网店
  • 手机网站二级域名网站开发多少钱一个
  • 车险网站模版在线表白网页制作
  • 网站建设寻找可以途径wordpress 调试php代码
  • 济南优化seo网站建设微信公众号?
  • 武夷山网站推广三星网上商城下载
  • wap网站开发文案素材网站
  • 做网站需要用什么系统昆山张浦做网站