【OceanBase诊断调优】—— Unit 迁移问题的排查方法

适用版本:V2.1.x、V2.2.x、V3.1.x、V3.2.x

本文主要介绍 OceanBase 数据集在副本迁移过程中遇到的问题的排查方法。

适用版本

V2.1.x、V2.2.x、V3.1.x、V3.2.x

手动调度迁移问题的排查

OceanBase 数据库的 RootService 模块负责 Unit 迁移的调度,如果一直没有对迁移进行调度,可以通过以下方法进行排查。

  1. 通过以下 SQL 找到 RootService 的 IP 地址。

    obclient> SELECT * FROM __all_server WHERE with_rootserver=1;
    +----------------------------+----------------------------+----------------+----------+----+-------+------------+-----------------+--------+-----------------------+--------------------------------------------------------------------------------------+-----------+--------------------+--------------+----------------+-------------------+
    | gmt_create                 | gmt_modified               | svr_ip         | svr_port | id | zone  | inner_port | with_rootserver | status | block_migrate_in_time | build_version| stop_time | start_service_time | first_sessid | with_partition | last_offline_time |
    +----------------------------+----------------------------+----------------+----------+----+-------+------------+-----------------+--------+-----------------------+--------------------------------------------------------------------------------------+-----------+--------------------+--------------+----------------+-------------------+
    | 2021-03-24 10:32:55.367438 | 2021-03-24 10:35:56.904319 | xx.xxx.xxx.xxx |     2882 |  2 | zone2 |       2881 |               1 | active |                     0 | 2.2.76_20210314152507-03d916596ba416277bf49a1a2fccb0b0d36a1631(Mar 14 2021 15:56:27) |         0 |   1616553286007503 |            0 |              1 |                 0 |
    +----------------------------+----------------------------+----------------+----------+----+-------+------------+-----------------+--------+-----------------------+--------------------------------------------------------------------------------------+-----------+--------------------+--------------+----------------+-------------------+
    1 row in set (0.01 sec)
    
  2. 登录到 RootService 所在的服务器,通过以下命令搜索 balancer 相关的日志。

    [admin@oceanbase /]$ grep balancer log/rootservice.log
    

迁移过慢问题排查

  1. 检查数据库配置项,建议的值如下:

    • 将 server_data_copy_out_concurrency 配置为 10。

    • 将 server_data_copy_in_concurrency 配置为 10。

    • 将 sys_bkgd_io_low_percentage 按需配置。

    • 将 sys_bkgd_net_percentage 按需配置。

    其中,server_data_copy_in_concurrency 与 server_data_copy_out_concurrency 分别用于配置单个节点迁入数据与迁出数据的最大并发数。sys_bkgd_io_low_percentage 表示 sys_io_percent 的下限,如果下限太低则可能导致合并的 I/O 很慢,可以通过适当调大这个值来调大 I/O。sys_bkgd_net_percentage 表示后端网络带宽占用。

    有关以上配置项的详细信息,请参见《OceanBase 数据库 参考指南》中的 系统配置项 章节。

  2. 检查 Unit 迁移操作是否为异地进行 

    通过以下命令检查延时,如果延时大于 5 ms,则表示迁移操作为异地进行。将操作系统的 sysctl.conf 文件中的 tcp_slow_start_after_idle 参数设置为 0,避免 TCP 连接在空闲后被重新设置。其中 observer_ip 表示迁移目的服务器的 IP 地址。

    [admin@oceanbase /]$ ping <observer_ip>
    
  3. 检查 I/O 是否达到磁盘瓶颈。

    通过以下命令确认是否达到磁盘 I/O 瓶颈。

    [root@hostname /]# iostat -x -k 1
    Linux 3.10.0-327.ali2019.alios7.x86_64 (k08j13249.eu95sqa)      03/30/2021      _x86_64_        (64 CPU)avg-cpu:  %user   %nice %system %iowait  %steal   %idle16.29    0.00    6.85    0.02    0.00   76.84
    

    通过以下命令检查 io_size_byte 列中 2097152 对应行 io_ps 是否达到 500 以上。

    [admin@oceanbase /]$ cat etc/io_resource.conf
    version 1
    io_type    io_size_byte    io_ps           io_rt_us
    0          4096            139979.75       123.25
    0          8192            122290.50       139.44
    0          16384           102972.00       164.16
    0          32768           64478.75        196.28
    0          65536           38162.25        219.13
    0          131072          20608.50        232.28
    0          262144          10537.00        280.90
    0          524288          5284.00         414.86
    1          2097152         890.00          1781.68
    submit_thread_cnt 1
    getevent_thread_cnt 5
    

    如果 io_ps 未达到 500,检查日志,查看 sys_io_high_percent 是否与配置 sys_bkgd_io_low_percentage 一致。如果不一致,则说明存在 I/O 限流。

    [admin@oceanbase /]$ grep io_stat log/observer.log
    [2019-01-11 16:45:35.629871] INFO  [COMMON] ob_io_manager.cpp:1424 [26043][Y0-0000000000000000] [lt=18] Current io stat, (sys_io_percent=60, sys_iops_up_limit=770, user_max_rt=20775.528088989257, user_io_stat={average_size:0, average_rt_us:"0.000000000000", old_stat:{io_cnt:27169649, io_bytes:349257160063, io_rt_us:276864943639}, new_stat:{io_cnt:27169649, io_bytes:349257160063, io_rt_us:276864943639}}, sys_io_stat={average_size:2097152, average_rt_us:"2784.086956521739", old_stat:{io_cnt:10151653, io_bytes:21289559392256, io_rt_us:127287447387}, new_stat:{io_cnt:10151676, io_bytes:21289607626752, io_rt_us:127287511421}}, io_conf={sys_io_low_percent:50, sys_io_high_percent:60, user_iort_up_percent:100, cpu_high_water_level:7680, write_failure_detect_interval:60000000, read_failure_black_list_interval:300000000, retry_warn_limit:2, retry_error_limit:5}, cpu_stat={avg_usage:584})
    
  4. 检查网络配置。

    1. 检查网卡是千兆还是万兆。

    2. 检查 ifconfig 输出的结构是否有 drop 或者 error 的包。

    3. 通过 tsar 或 vsar 检查 retrans,如果大于 0.2 则说明交换机或者链路存在问题。

  5. 检查出现迁移过慢的步骤。

    执行以下 SQL 语句,检查 ACTION 列值,该字段表示目前迁移正处于的步骤。

    obclient> SELECT * FROM __all_virtual_partition_migration_status WHERE action!='END' AND result = 0\G
    

迁移失败问题的排查

  1. 确认常见错误码。

    目前,常见的迁移失败对应两个错误码,分别为:

    • ERROR 4109 :常见于 OceanBase 数据库 V1.4 版本,如果目的端在合并或者转储,可能出现该错误。如果 rebuild 的时候遇到,可以通过加快合并速度来回避,即调大合并线程数或者增量 sysio 的带宽限制。

    • ERROR 4018 :表示源端进行了合并或者转储,导致找不到需要的数据。需要调大迁移的带宽、sysio 限制或者降低转储合并的频率。

  2. 检查是否存在硬件问题。

    1. 检查机器各硬件是否存在故障。

    2. 检查错误日志。

      如果结果为空则表示无故障。

      [root@hostname /]# dmesg|grep -E "Failed status, reset controller|Controller encountered a fatal error and was reset|Controller encountered a fatal error and was reset
      

      对于配置了 Raid 的机器还需要进行以下检查,如果结果为空则表示无故障。

      [root@hostname /]# tbraid log | grep -E "Read Medium ERR|Error"
      
    3. 通过以下命令确认是否存在 RX 或 TX 错误。

      [root@hostname /]# ifconfig
      bond0: flags=5187<UP,BROADCAST,RUNNING,MASTER,MULTICAST>  mtu 1500inet xxx.xxx.xxx.xxx  netmask xxx.xxx.xxx.xxx  broadcast xxx.xxx.xxx.xxxether xx:xx:xx:xx:xx:xx  txqueuelen 0  (Ethernet)RX packets 234167440  bytes 206275603707 (192.1 GiB)RX errors 0  dropped 63  overruns 0  frame 0TX packets 241808476  bytes 97456446934 (90.7 GiB)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
      
    4. 检查 tsar 或 vsar 的 retrans 值,如果大于 0.2 则表示网络链路故障。

      [root@hostname /]# tsar 
      Time           ---cpu-- ---mem-- ---tcp-- -----traffic---- --sda--- --dfa--- --dfb--- --dfc--- --dm-0-- --dm-7-- --dm-8-- --dm-9-- -dm-10-- -dm-11-- -dm-12-- -dm-14-- -dm-24-- --dm-3-- --dm-2-- --dm-4-- -dm-15-- --dm-5-- -dm-16-- -dm-18-- -dm-17-- -dm-21-- -dm-19-- -dm-20-- --dm-1-- --dm-6-- -dm-13-- -dm-22-- -dm-23-- -dm-25-- -dm-28-- -dm-26-- -dm-27-- -dm-29-- -dm-30-- -dm-31--  ---load-
      Time             util     util   retran    bytin  bytout     util     util     util     util     util     util     util     util     util     util     util     util     util     util     util     util     util     util     util     util     util     util     util     util     util     util     util     util     util     util     util     util     util     util     util     util     load1
      30/03/21-16:45  21.62    53.82     0.00     3.0K    4.9K     0.01     0.04     0.33     1.26     0.00     0.00     0.00     0.00     0.00     0.00     0.01     0.00     0.00     0.40     0.00     0.00     0.39     0.00     0.01     0.29     0.00     0.00     0.00     0.00     0.02     0.35     0.39     0.00     0.00     0.15     0.00     0.00     0.00     0.00     0.00     0.00     15.31
      30/03/21-16:50  21.59    54.39     0.00     2.9K    4.8K     0.01     0.04     0.30     1.20     0.00     0.00     0.00     0.00     0.00     0.00     0.01     0.00     0.00     0.37     0.01     0.00     0.37     0.00     0.01     0.29     0.00     0.00     0.00     0.00     0.02     0.32     0.39     0.00     0.00     0.14     0.00     0.00     0.00     0.00     0.00     0.00     12.37
      30/03/21-16:55  24.40    54.68     0.00     2.9K    4.9K     0.01     0.27     1.08    32.99     0.00     0.00     0.00     0.00     0.00     0.00     0.02     0.00     0.00     0.40     0.00     0.01     0.40     0.00     0.01     0.28     0.00     0.00     0.00     0.00     0.24     1.10    32.64     0.00     0.00     0.16     0.00     0.00     0.00     0.00     0.00     0.00     24.60
      30/03/21-17:00  24.46    55.30     0.00     2.9K    4.9K     0.01     0.19     1.11    18.98     0.00     0.00     0.00     0.00     0.00     0.00     0.01     0.00     0.00     0.38     0.00     0.00     0.37     0.00     0.01     0.28     0.00     0.00     0.00     0.00     0.17     1.13    18.49     0.00     0.00     0.17     0.00     0.00     0.00     0.00     0.00     0.00     19.38
      30/03/21-17:05  21.74    55.89     0.00     2.9K    4.9K     0.01     0.04     0.02     1.26     0.00     0.00     0.00     0.00     0.00     0.00     0.01     0.00     0.00     0.41     0.01     0.00     0.36     0.00     0.01     0.30     0.00     0.00     0.00     0.00     0.02     0.03     0.38     0.00     0.00     0.16     0.00     0.00     0.00     0.00     0.00     0.00     16.01MAX             38.78    79.44     0.13     1.7M   51.1K     0.69     1.55    55.95    50.54     0.00     0.00     0.00     0.00     0.00     0.00     0.61     0.12     0.00     6.98     0.01     0.11     6.65     0.12     0.01     4.94     0.00     6.50     0.34    55.83     0.33    12.47    45.96     0.82    55.79     6.68     6.63     0.34    55.81     1.14     0.00     0.00     61.70
      MEAN            29.42    76.67     0.00     9.4K    5.2K     0.01     0.09     0.71     3.73     0.00     0.00     0.00     0.00     0.00     0.00     0.01     0.00     0.00     0.44     0.01     0.01     0.44     0.00     0.01     0.33     0.00     0.40     0.01     0.35     0.03     0.20     2.13     0.02     0.55     0.43     0.41     0.01     0.35     0.00     0.00     0.00     22.73
      MIN             16.84    48.16     0.00     2.8K    4.2K     0.01     0.06     0.00     1.14     0.00     0.00     0.00     0.00     0.00     0.00     0.01     0.00     0.00     0.42     0.01     0.01     0.41     0.00     0.01     0.29     0.00     0.04     0.01     0.00     0.02     0.00     0.34     0.01     0.00     0.04     0.04     0.01     0.00     0.00     0.00     0.00     10.32[root@hostname /]# vsar
      Time              ---cpu-- ---mem-- ---tcp-- -----traffic---- --sda--- --dfa--- --dfb--- --dfc--- --dm-0-- --dm-7-- --dm-8-- --dm-9-- -dm-10-- -dm-11-- -dm-12-- -dm-14-- -dm-24-- --dm-3-- --dm-2-- --dm-4-- -dm-15-- --dm-5-- -dm-16-- -dm-18-- -dm-17-- -dm-21-- -dm-19-- -dm-20-- --dm-1-- --dm-6-- -dm-13-- -dm-22-- -dm-23-- -dm-25-- -dm-28-- -dm-26-- -dm-27-- -dm-29-- -dm-30-- -dm-31--  ---load-
      Time                util     util   retran    bytin  bytout     util     util     util     util     util     util     util     util     util     util     util     util     util     util     util     util     util     util     util     util     util     util     util     util     util     util     util     util     util     util     util     util     util     util     util     util     load1
      30/03/21-17:09:13  21.32    56.40     0.00   949.00    5.4K     0.02     0.06     0.00     1.38     0.00     0.00     0.00     0.00     0.00     0.00     0.00     0.00     0.00     0.34     0.02     0.00     0.32     0.00     0.00     0.36     0.00     0.00     0.00     0.00     0.02     0.00     0.42     0.02     0.00     0.24     0.00     0.00     0.00     0.00     0.00     0.00     13.32
      30/03/21-17:09:18  21.46    56.41     0.00     4.4K   33.3K     1.42     0.00     0.00     0.92     0.00     0.00     0.00     0.00     0.00     0.00     0.00     0.00     0.00     0.28     0.00     0.00     0.38     0.00     0.00     0.30     0.00     0.00     0.00     0.00     0.00     0.00     0.26     0.00     0.00     0.14     0.00     0.00     0.00     0.00     0.00     0.00     12.74
      30/03/21-17:09:23  21.73    56.41     0.00   931.00    5.3K     0.00     0.04     0.00     1.12     0.00     0.00     0.00     0.00     0.00     0.00     0.02     0.00     0.00     0.26     0.00     0.02     0.40     0.00     0.00     0.40     0.00     0.00     0.00     0.00     0.00     0.00     0.28     0.00     0.00     0.20     0.00     0.00     0.00     0.00     0.00     0.00     12.68
      30/03/21-17:09:28  22.16    56.44     0.00    10.8K    5.1K     0.02     0.02     0.00     1.92     0.00     0.00     0.00     0.00     0.00     0.00     0.02     0.00     0.00     0.40     0.00     0.00     0.60     0.00     0.00     0.26     0.00     0.00     0.00     0.00     0.00     0.00     0.90     0.00     0.00     0.24     0.00     0.00     0.00     0.00     0.00     0.00     13.02
      30/03/21-17:09:33  21.07    56.44     0.00   863.00    5.3K     0.00     0.02     0.00     1.16     0.00     0.00     0.00     0.00     0.00     0.00     0.00     0.00     0.00     0.34     0.00     0.00     0.36     0.00     0.02     0.38     0.00     0.00     0.00     0.00     0.00     0.00     0.28     0.00     0.00     0.28     0.00     0.00     0.00     0.00     0.00     0.00     13.02
      30/03/21-17:09:38  21.21    56.45     0.00     2.3K    4.4K     0.02     0.08     0.00     1.02     0.00     0.00     0.00     0.00     0.00     0.00     0.00     0.00     0.00     0.36     0.00     0.02     0.38     0.00     0.00     0.16     0.00     0.00     0.00     0.00     0.06     0.00     0.26     0.00     0.00     0.16     0.00     0.00     0.00     0.00     0.00     0.00     13.02
      30/03/21-17:09:43  21.18    56.44     0.00     2.8K    5.2K     0.00     0.06     0.00     1.08     0.00     0.00     0.00     0.00     0.00     0.00     0.00     0.00     0.00     0.34     0.02     0.02     0.26     0.00     0.00     0.18     0.00     0.00     0.00     0.00     0.00     0.00     0.30     0.00     0.00     0.16     0.00     0.02     0.00     0.00     0.00     0.00     13.34
      30/03/21-17:09:48  20.99    56.44     0.00     2.3K    4.3K     0.00     0.02     0.00     0.98     0.00     0.00     0.00     0.00     0.00     0.00     0.00     0.00     0.00     0.22     0.00     0.00     0.32     0.00     0.00     0.34     0.00     0.00     0.00     0.00     0.00     0.00     0.20     0.02     0.00     0.10     0.00     0.00     0.00     0.00     0.00     0.00     13.07
      30/03/21-17:09:53  21.52    56.45     0.00   863.00    5.1K     0.02     0.02     0.00     0.96     0.00     0.00     0.00     0.00     0.00     0.00     0.02     0.00     0.00     0.30     0.00     0.00     0.30     0.00     0.00     0.20     0.00     0.00     0.00     0.00     0.00     0.00     0.26     0.00     0.00     0.20     0.00     0.00     0.00     0.00     0.00     0.00     13.39
      30/03/21-17:09:58  21.44    56.47     0.00     8.0K    4.5K     0.00     0.00     0.00     1.18     0.00     0.00     0.00     0.00     0.00     0.00     0.00     0.00     0.00     0.38     0.00     0.00     0.34     0.00     0.00     0.24     0.00     0.00     0.00     0.00     0.00     0.00     0.36     0.00     0.00     0.18     0.00     0.00     0.00     0.00     0.00     0.00     12.80
      30/03/21-17:10:03  24.46    56.48     0.00     1.1K    5.5K     0.00     0.02     0.00     1.26     0.00     0.00     0.00     0.00     0.00     0.00     0.00     0.00     0.00     0.30     0.00     0.00     0.34     0.00     0.02     0.28     0.00     0.00     0.00     0.00     0.00     0.00     0.50     0.00     0.00     0.18     0.00     0.00     0.00     0.00     0.00     0.00     13.02MAX                74.03    56.45     0.00    15.4M  186.1K    30.10    17.46   100.00    92.10     0.00     0.00     0.00     0.00     0.00     0.26    12.90     0.00     0.00     1.06     1.24     1.00     0.90     0.00     1.02     0.92     0.00    43.00     4.68   100.00     3.18    97.52    92.64     4.30   100.00    74.30    42.90     3.80   100.00     0.00     0.00     0.00     50.61
      MEAN               22.13    51.58     0.00    78.8K    7.5K     0.05     0.18     7.02     4.33     0.00     0.00     0.00     0.00     0.00     0.00     0.05     0.00     0.00     0.39     0.01     0.01     0.38     0.00     0.01     0.29     0.00     0.15     0.02     4.19     0.04     0.88     3.36     0.04     6.54     0.36     0.15     0.02     4.20     0.00     0.00     0.00     15.21
      MIN                16.19    48.24     0.00   642.00    3.9K     0.01     0.02     0.00     0.64     0.00     0.00     0.00     0.00     0.00     0.00     0.00     0.00     0.00     0.18     0.01     0.00     0.14     0.00     0.00     0.08     0.00     0.00     0.00     0.00     0.01     0.01     0.08     0.00     0.00     0.00     0.00     0.00     0.00     0.00     0.00     0.00      9.37
      
  3. 检查内核问题。

    通过以下命令检查是否存在内核故障。

    如果出现形如 task xxx blocked for more than 120 seconds 的日志,则可能为内核故障。可以通过升级内核版本的方式解决该问题。

    [root@hostname /]# dmesg |grep blocked

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/6944.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

五款优秀的局域网监控软件推荐:实时监控电脑屏幕的神器

在现代社会&#xff0c;计算机和网络已经成为工作中不可或缺的部分。随着局域网的普及&#xff0c;如何有效地监控和管理局域网内的电脑成为了许多企业和管理者关心的问题。本文将为您推荐五款优秀的局域网监控软件&#xff0c;帮助您实时监控电脑屏幕&#xff0c;提高工作效率…

2023陇剑杯-流量分析篇-wp

1.ez_web Q1:服务器自带的后门文件是什么&#xff1f; 常用http过滤命令&#xff1a;http.request.full_urihttp.request.methodPOST 查看第一个POST请求&#xff0c;发现关键点file_put_contents&#xff08;备注&#xff1a;file_put_contents内置函数&#xff0c;用于将字…

A star前置算法优先队列

A* 寻路算法 其中最重要的就是如何确保我们每次走的都是权值最小的路径这样就可以保证我们寻找的路径是最优的。 优先队列 优先队列是实现A*寻路算法的时候根据权重找出对应的结点很好的方法。 什么是优先队列 优先队列是0个元素和多个元素的集合&#xff0c;每一个元素都有一个…

访学/博后/联培博士关注|不同国家的英语口音辨识度训练

在访问学者、博士后及联合培养的申请过程中&#xff0c;接收方多数都要求英文面试。如果导师的母语为非英语国家&#xff0c;将会带有口音&#xff0c;这样更增加了英语面试难度。如何提升不同国家的英语口音辨识度&#xff0c;使自己的英语表达更加流利&#xff0c;知识人网小…

KEIL 5.38的ARM-CM3/4 ARM汇编设计学习笔记13 - STM32的SDIO学习5 - 卡的轮询读写擦

KEIL 5.38的ARM-CM3/4 ARM汇编设计学习笔记13 - STM32的SDIO学习5 - 卡的轮询读写擦 一、前情提要二、目标三、技术方案3.1 读写擦的操作3.1.1 读卡操作3.1.2 写卡操作3.1.3 擦除操作 3.2 一些技术点3.2.1 轮询标志位的选择不唯一3.2.2 写和擦的卡状态查询3.2.3 写的速度 四、代…

轨道交通巡检机器人的应用范围

在现代轨道交通系统的庞大网络中&#xff0c;无数的轨道、设备和设施交织在一起&#xff0c;如同一个精密的机器在高效运转。而在这背后&#xff0c;轨道交通巡检机器人正悄然登场&#xff0c;它们如同一个个智能的守护者&#xff0c;穿梭于各个场景之中。那么&#xff0c;这些…

python从0开始学习(三)

目录 前言 1、类型转换 1.1 隐式类型转换 1.2 显式类型转换 2、eval函数 总结 前言 上篇我们讲了python中的变量与常量&#xff0c;以及变量类型。本篇文章将接着往下讲。 1、类型转换 python中的数据类型转换包括两种&#xff1a;隐式类型转换和显式类型转换。 1.1 隐式…

SAPUI5基础知识1 - 概览,库,支持工具,自学教程

1. SAPUI5 概览 1.1 SAPUI5 SAPUI5是一种用于构建企业级Web应用程序的开发框架。它是由SAP开发的&#xff0c;基于HTML5、CSS3和JavaScript技术。 SAPUI5提供了一套丰富的UI控件和工具&#xff0c;使开发人员能够快速构建现代化、可扩展和可定制的应用程序。 它还提供了数据…

西门子数控网络IP设定配置

总结&#xff1a;menuselect-诊断-屏幕下方右翻页找到tcp/ip&#xff0c;进去选择tcp/ip诊断&#xff0c;进去选择x130网口&#xff0c;点击更改&#xff0c; 如果没有更改&#xff0c;menuselect-调试-口令&#xff0c;输入口令 sunrise 然后重新配置tcp/ip&#xff0c;配置完…

Qt 6 开源版(免费) -- 在线安装图解

经常遇到询问&#xff1a;有没有Qt6安装包&#xff1f; ......&#xff0c;真没有呢~~ 从Qt6起&#xff0c;它整了两个重大改变&#xff08;并非指技术&#xff09;&#xff1a; 在线安装&#xff0c;不再提供单独的安装包主推收费的商业版 当然的&#xff0c;为了培养市场…

SPSS之聚类分析

SPSS中系统聚类分析功能在【分析】—【分类】—【系统聚类】中完成。系统聚类有两种类型&#xff0c;一种是对样本进行聚类&#xff0c;称为Q型聚类&#xff1b;一种是对变量进行聚类&#xff0c;称为R型聚类。在【系统聚类分析】—【聚类】框下选择【个案】——Q型聚类&#x…

微信小程序生成二维码加密(CryptoJS4.0加密PHP8.0解密)AES方式加密

1、小程序创建 crypto-js.js和crypto.js两个文件&#xff08;点击文件即可&#xff09; 2、小程序js页面引入 var crypto require(../../utils/crypto.js);//注意路径是否正确3、使用 let data {id: that.data.id,name: dx}console.log(JSON.stringify(data))console.log(&…

iOS - Undefined symbols: 解决方法

Undefined symbols: 是让人苦恼的报错&#xff0c;如何知道是 哪个 symbols 不对呢&#xff1f; 今天探索到下面的方法&#xff1a; 1、点击导航上方 最右侧的按钮&#xff0c;查看历史报错 2、选中报错信息&#xff0c;右键选择 Expand All Transcripts 在出现的详细信息面…

FreeRTOS软件定时器(1-18)

软件定时器简介 定时器&#xff1a;从指定的时刻开始&#xff0c;经过一个指定时间&#xff0c;然后触发一个超时事件&#xff0c;用户可以自定义 定时器周期。 硬件定时器&#xff1a;芯片本身自带的定时器模块&#xff0c;硬件定时器的精度一般很高&#xff0c;每次在定时时…

Java常用命令总结 持续更新中!!!

蓝桥杯JAVA组 推荐输入输出示例 // 基础输入 import java.util.*;public class Main{public static void main(String[] args){} }// 非静态方法调用 new Main.Solution();//static函数里面调用非static函数 类.函数// 更快的输入方式 BufferedReader // 更快的输出方式 Print…

js监听页面的显示和隐藏

下方微信公众号 和微信小程序推荐 js监听页面的显示和隐藏 在JavaScript中&#xff0c;监听页面的显示和隐藏可以通过监听visibilitychange事件来实现。visibilitychange事件会在页面的可见性发生变化时触发。 以下是一个简单的示例&#xff0c;演示如何使用visibilitychan…

打招呼得不到回复,跟头像还有关系?

现在很多人有个想法,那就是觉得某些公司是不是为了某些目的才往出发的招聘信息啊,其实他们并不需要招聘新员工。 目录 已读不回? 头像很重要 选择自己的精修照片 已读不回? 很有这种可能,但你细心观察会发现,的确有很多大公司,

再学Java基础——垃圾回收

在Java中&#xff0c;垃圾回收&#xff08;Garbage Collection&#xff0c;简称GC&#xff09;是一个自动的内存管理机制&#xff0c;它用于自动释放那些不再被程序使用的对象所占用的内存空间。这种机制有助于防止内存泄漏和内存溢出等问题&#xff0c;使程序员能够更专注于业…

《面向对象程序设计及C++》实验报告

《面向对象程序设计及C》实验报告 一、实验目的与实验要求 &#xff08;1&#xff09;掌握类的定义、类中成员函数的定义和使用、构造函数和析构函数的定义、功能&#xff1b;掌握对象的使用方法。 &#xff08;2&#xff09;掌握静态数据成员、静态成员函数的功能和使用方法…

什么是新能源汽车热管理?

前言 新能源汽车热管理是指针对电动汽车等新型动力系统所涉及的热量控制和调节技术&#xff0c;其包括散热、冷却、加热、温度控制等方面。在新能源汽车中&#xff0c;电池、电动机、控制器等部件都会产生一定的热量&#xff0c;如果不进行有效的热管理&#xff0c;将会影响汽…