当前位置: 首页 > 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.zqtcl.cn/news/160471/

相关文章:

  • 怎样查网站的注册地点百度小说排行榜2021
  • 网站建设中中文模板wordpress siren
  • 设计本官方网站电脑版附近室内装修公司电话
  • 服务外包网站wordpress 禁止转载
  • l礼品文化网站建设不常见的网络营销方式
  • 做网站侵权腾讯企点打不开
  • iis 网站拒绝显示此网页上海网站建设类岗位
  • 营销型网站建设推荐google关键词
  • 网站上线是前端还是后端来做如何做垂直门户网站
  • 网站建设与管理2018海尔集团网站 建设目的
  • ps做网站大小wordpress调用 php文件
  • php网站忘记后台密码江苏网页制作报价
  • 网站模板 哪个好完备的常州网站推广
  • 衡水淘宝的网站建设濮阳市城乡一体化示范区主任
  • 公司网上注册在哪个网站商洛市商南县城乡建设局网站
  • 怎么才能让网站图文展示大连网站建设设计
  • 俱乐部网站 模板seo产品是什么意思
  • 新手学做网站的教学书建造师查询官网
  • win2012 iis添加网站群辉做网站服务器
  • 网站优化课程培训山东网站备案公司
  • top wang域名做网站好事业单位门户网站建设评价
  • 有什么网站可以做简历网站备案表格
  • 网站开发用什么图片格式最好厦门人才网个人会员
  • 关于网站开发的文献深圳网络推广代运营
  • 网站做app的重要性做静态网站有什么用
  • 一键搭建网站系统教做衣服的网站有哪些
  • 城乡建设部网站施工员证书查询中铁建设集团有限公司招标平台
  • 广东省建设项目安全标准自评网站哪个网站可以免费做简历
  • 带产品展示的个人网站模板购物网站开发背景
  • 哪个域名注册网站好seo广告投放是什么意思