【SysBench】OLTP 基准测试示例

前言

本文采用 MySQL 沙盒实例作为测试目标,使用 sysbench-1.20 对其做 OLTP 基准测试。

有关 MySQL 沙盒的更多信息,请参阅 玩转 MySQL Shell 沙盒实例,【MySQL Shell】6.8 AdminAPI MySQL 沙盒 。


1、部署一个 MySQL 沙盒实例

使用 mysqlsh 部署一个 MySQL 沙盒实例用于测试 OLTP 。

 MySQL  JS > dba.deploySandboxInstance(3310);
A new MySQL sandbox instance will be created on this host in 
/root/mysql-sandboxes/3310Warning: Sandbox instances are only suitable for deploying and 
running on your local machine for testing purposes and are not 
accessible from external networks.Please enter a MySQL root password for the new instance: ********Deploying new MySQL instance...Instance localhost:3310 successfully deployed and started.
Use shell.connect('root@localhost:3310') to connect to the instance.

2、创建 sysbench oltp 测试的基础配置文件

为什么要使用配置文件?方便快捷啊!配置文件可以简化操作,省着在命令行中指定这些参数时至少还要多打 -- 和空格。如果一些参数可以复用,建议创建一个配置文件。

$ cat mysql-sb.cnf 
threads=2
time=600db-driver=mysql
mysql-host=localhost
mysql-port=3310
mysql-socket=/root/mysql-sandboxes/3310/sandboxdata/mysqld.sock
mysql-user=root
mysql-password=Ro123ot$
mysql-db=sbtest

在创建时读者可能遇到一个问题,在配置文件中指定诸如 tables 选项时不生效,并且会报 Unknown argument type: 0 。而在命令行中指定时则有效。原因是什么呢?

因为这个参数是 Lua 脚本的参数,而不是 sysbench 这个二进制可执行文件的参数!

所以应该在命令行中使用诸如 --tables=N 这样的 Lua 脚本参数来测试。

3、准备测试数据

笔者准备了 100 个包含 10000 行数据的测试表,库名和表名都是用默认值。

$ sysbench --config-file=mysql-sb.cnf --tables=100 oltp_common prepare

注意此阶段的屏幕打印信息,多线程时可能出现争用,导致部分表未创建成功,或写入的数据不全。

sbtest6 创建失败报错:
在这里插入图片描述

计划创建 100 张表,实际只创建了 53 个,上面的 sbtest6 表虽然最后创建成功了,但插入的数据不全。

在这里插入图片描述

在这里插入图片描述

4、运行测试

1) oltp_read_write

建议先对支持 prewarm 选项的 Lua 脚本使用 prewarm 选项,以预热数据到内存,提高性能。

$ sysbench --config-file=mysql-sb.cnf --tables=100 oltp_read_write.lua prewarm

因输出过长,以下仅截取部分信息。

预热后:

$ sysbench --config-file=mysql-sb.cnf --tables=100 oltp_read_write.lua run
sysbench 1.0.20 (using bundled LuaJIT 2.1.0-beta2)Running the test with following options:
Number of threads: 2
Initializing random number generator from current timeInitializing worker threads...Threads started!SQL statistics:queries performed:read:                            2272046write:                           530149other:                           443585total:                           3245780transactions:                        162289 (270.47 per sec.)queries:                             3245780 (5409.35 per sec.)ignored errors:                      0      (0.00 per sec.)reconnects:                          0      (0.00 per sec.)General statistics:total time:                          600.0289stotal number of events:              162289Latency (ms):min:                                    4.40avg:                                    7.39max:                                  427.6895th percentile:                       10.09sum:                              1199185.78Threads fairness:events (avg/stddev):           81144.5000/31.50execution time (avg/stddev):   599.5929/0.00

未预热,同时使用周期报告来每 5 秒生成一次报告信息:

$ sysbench --config-file=mysql-sb.cnf --tables=100 oltp_read_write run --report-interval=5
sysbench 1.0.20 (using bundled LuaJIT 2.1.0-beta2)Running the test with following options:
Number of threads: 2
Report intermediate results every 5 second(s)
Initializing random number generator from current timeInitializing worker threads...Threads started![ 5s ] thds: 2 tps: 137.01 qps: 2747.56 (r/w/o: 1923.71/549.43/274.42) lat (ms,95%): 23.52 err/s: 0.00 reconn/s: 0.00
[ 10s ] thds: 2 tps: 199.67 qps: 3993.69 (r/w/o: 2795.44/798.90/399.35) lat (ms,95%): 14.73 err/s: 0.00 reconn/s: 0.00
[ 15s ] thds: 2 tps: 204.00 qps: 4080.05 (r/w/o: 2856.03/816.01/408.00) lat (ms,95%): 12.52 err/s: 0.00 reconn/s: 0.00
...
[ 590s ] thds: 2 tps: 285.00 qps: 5698.37 (r/w/o: 3989.18/1139.19/570.00) lat (ms,95%): 9.06 err/s: 0.00 reconn/s: 0.00
[ 595s ] thds: 2 tps: 285.80 qps: 5714.78 (r/w/o: 3999.39/1144.00/571.40) lat (ms,95%): 9.06 err/s: 0.00 reconn/s: 0.00
[ 600s ] thds: 2 tps: 281.97 qps: 5641.39 (r/w/o: 3949.97/1127.28/564.14) lat (ms,95%): 9.22 err/s: 0.00 reconn/s: 0.00
SQL statistics:queries performed:read:                            2126824write:                           607664other:                           303832total:                           3038320transactions:                        151916 (253.18 per sec.)queries:                             3038320 (5063.66 per sec.)ignored errors:                      0      (0.00 per sec.)reconnects:                          0      (0.00 per sec.)General statistics:total time:                          600.0218stotal number of events:              151916Latency (ms):min:                                    4.70avg:                                    7.89max:                                 1579.2395th percentile:                        9.91sum:                              1199355.27Threads fairness:events (avg/stddev):           75958.0000/101.00execution time (avg/stddev):   599.6776/0.00

2) oltp_point_select.lua

注意,.lua 后缀加不加都行。

$ sysbench --config-file=mysql-sb.cnf --tables=100 oltp_point_select.lua run
sysbench 1.0.20 (using bundled LuaJIT 2.1.0-beta2)Running the test with following options:
Number of threads: 2
Report intermediate results every 5 second(s)
Initializing random number generator from current timeInitializing worker threads...Threads started!
[ 5s ] thds: 2 tps: 13309.18 qps: 13309.18 (r/w/o: 13309.18/0.00/0.00) lat (ms,95%): 0.21 err/s: 0.00 reconn/s: 0.00
[ 10s ] thds: 2 tps: 12990.77 qps: 12990.77 (r/w/o: 12990.77/0.00/0.00) lat (ms,95%): 0.22 err/s: 0.00 reconn/s: 0.00
[ 15s ] thds: 2 tps: 13777.54 qps: 13777.54 (r/w/o: 13777.54/0.00/0.00) lat (ms,95%): 0.20 err/s: 0.00 reconn/s: 0.00
...
[ 590s ] thds: 2 tps: 13479.94 qps: 13479.94 (r/w/o: 13479.94/0.00/0.00) lat (ms,95%): 0.20 err/s: 0.00 reconn/s: 0.00
[ 595s ] thds: 2 tps: 13402.69 qps: 13402.69 (r/w/o: 13402.69/0.00/0.00) lat (ms,95%): 0.20 err/s: 0.00 reconn/s: 0.00
[ 600s ] thds: 2 tps: 13573.04 qps: 13573.04 (r/w/o: 13573.04/0.00/0.00) lat (ms,95%): 0.20 err/s: 0.00 reconn/s: 0.00
SQL statistics:queries performed:read:                            8165259write:                           0other:                           0total:                           8165259transactions:                        8165259 (13608.60 per sec.)queries:                             8165259 (13608.60 per sec.)ignored errors:                      0      (0.00 per sec.)reconnects:                          0      (0.00 per sec.)General statistics:total time:                          600.0052stotal number of events:              8165259Latency (ms):min:                                    0.12avg:                                    0.15max:                                   48.5195th percentile:                        0.20sum:                              1189126.95Threads fairness:events (avg/stddev):           4082629.5000/4029.50execution time (avg/stddev):   594.5635/0.01

3) oltp_write_only.lua

上面设置的 report-interval 每 5 秒报告一次太频繁了,笔者目的是为了演示 sysbench 的用法,因而选择后面不再报告了。

此外,这个测试我在命令行增加了开启直方图的参数 --histogram=on ,来看一下效果吧!

$ sysbench --config-file=mysql-sb.cnf --tables=100 oltp_write_only.lua run --histogram=on
sysbench 1.0.20 (using bundled LuaJIT 2.1.0-beta2)Running the test with following options:
Number of threads: 2
Initializing random number generator from current timeInitializing worker threads...Threads started!Latency histogram (values are in milliseconds)value  ------------- distribution ------------- count1.759 |                                         11.824 |                                         11.857 |                                         51.891 |                                         111.925 |                                         221.960 |                                         691.996 |                                         1492.032 |                                         2012.069 |*                                        3352.106 |*                                        5572.145 |**                                       9472.184 |***                                      13272.223 |****                                     18962.264 |*****                                    26082.305 |*******                                  35782.347 |**********                               46872.389 |*************                            60722.433 |****************                         78442.477 |********************                     98562.522 |************************                 113442.568 |**************************               124412.615 |*****************************            137622.662 |*******************************          150342.710 |**********************************       165142.760 |*************************************    177352.810 |**************************************** 191852.861 |**************************************** 192582.913 |***************************************  189972.966 |**************************************   184093.020 |***********************************      170693.075 |*********************************        156893.130 |*******************************          148643.187 |****************************             136473.245 |**************************               123693.304 |***********************                  110863.364 |********************                     98583.425 |******************                       86803.488 |****************                         77863.551 |**************                           67743.615 |************                             56333.681 |**********                               48283.748 |********                                 39913.816 |*******                                  34283.885 |******                                   28533.956 |*****                                    23604.028 |****                                     19484.101 |***                                      16484.176 |***                                      13464.252 |**                                       10824.329 |**                                       10054.407 |**                                       7964.487 |*                                        6794.569 |*                                        6294.652 |*                                        5484.737 |*                                        4734.823 |*                                        4984.910 |*                                        4534.999 |*                                        4625.090 |*                                        4565.183 |*                                        4485.277 |*                                        4585.373 |*                                        4995.470 |*                                        4785.570 |*                                        5175.671 |*                                        4815.774 |*                                        5445.879 |*                                        5615.986 |*                                        5466.095 |*                                        5686.205 |*                                        5496.318 |*                                        5706.433 |*                                        5296.550 |*                                        5756.669 |*                                        4966.790 |*                                        4636.913 |*                                        4517.039 |*                                        4187.167 |*                                        4077.297 |*                                        3557.430 |*                                        3537.565 |*                                        3087.702 |*                                        2667.842 |*                                        259SQL statistics:queries performed:read:                            0write:                           1480184other:                           740092total:                           2220276transactions:                        370046 (616.73 per sec.)queries:                             2220276 (3700.37 per sec.)ignored errors:                      0      (0.00 per sec.)reconnects:                          0      (0.00 per sec.)General statistics:total time:                          600.0123stotal number of events:              370046Latency (ms):min:                                    1.76avg:                                    3.24max:                                 1266.8095th percentile:                        4.41sum:                              1198670.01Threads fairness:events (avg/stddev):           185023.0000/8.00execution time (avg/stddev):   599.3350/0.00

输出信息也太长了,以上仅截取重要的直方图部分。

4) oltp_delete.lua

$ sysbench --config-file=mysql-sb.cnf --tables=100 oltp_delete.lua run
sysbench 1.0.20 (using bundled LuaJIT 2.1.0-beta2)Running the test with following options:
Number of threads: 2
Initializing random number generator from current timeInitializing worker threads...Threads started!SQL statistics:queries performed:read:                            0write:                           312795other:                           3073107total:                           3385902transactions:                        3385902 (5643.06 per sec.)queries:                             3385902 (5643.06 per sec.)ignored errors:                      0      (0.00 per sec.)reconnects:                          0      (0.00 per sec.)General statistics:total time:                          600.0094stotal number of events:              3385902Latency (ms):min:                                    0.11avg:                                    0.35max:                                  774.4995th percentile:                        1.58sum:                              1194234.55Threads fairness:events (avg/stddev):           1692951.0000/195.00execution time (avg/stddev):   597.1173/0.01

5) oltp_insert.lua

$ sysbench --config-file=mysql-sb.cnf --tables=100 oltp_insert.lua run --histogram=on
sysbench 1.0.20 (using bundled LuaJIT 2.1.0-beta2)Running the test with following options:
Number of threads: 2
Initializing random number generator from current timeInitializing worker threads...Threads started!Latency histogram (values are in milliseconds)value  ------------- distribution ------------- count0.872 |                                         10.888 |                                         30.904 |                                         70.920 |                                         120.937 |                                         430.954 |                                         730.971 |                                         1860.989 |                                         3591.007 |*                                        5481.025 |*                                        6401.044 |*                                        8291.063 |*                                        12771.082 |***                                      22891.102 |****                                     36041.122 |******                                   49841.142 |*******                                  60731.163 |*********                                74631.184 |**********                               88191.205 |***********                              95591.227 |*************                            107511.250 |***************                          128631.272 |*******************                      159821.295 |**********************                   191221.319 |*************************                215231.343 |**************************               226171.367 |*****************************            249221.392 |**********************************       293201.417 |**************************************   322891.443 |**************************************   327921.469 |***************************************  335211.496 |**************************************** 343241.523 |**************************************   329751.551 |***************************************  331221.579 |**************************************   329071.608 |*************************************    319561.637 |************************************     309091.667 |**********************************       292391.697 |********************************         273151.728 |*****************************            252751.759 |**************************               223481.791 |**********************                   188241.824 |*******************                      161521.857 |*****************                        147491.891 |***************                          130441.925 |*************                            108621.960 |***********                              91201.996 |*********                                77582.032 |********                                 64592.069 |******                                   54262.106 |*****                                    46782.145 |*****                                    41352.184 |****                                     35002.223 |****                                     30542.264 |***                                      27682.305 |***                                      23192.347 |**                                       20342.389 |**                                       17732.433 |**                                       15162.477 |**                                       13012.522 |*                                        10702.568 |*                                        9542.615 |*                                        7552.662 |*                                        6752.710 |*                                        6312.760 |*                                        4922.810 |*                                        4512.861 |      
SQL statistics:queries performed:read:                            0write:                           744453other:                           0total:                           744453transactions:                        744453 (1240.74 per sec.)queries:                             744453 (1240.74 per sec.)ignored errors:                      0      (0.00 per sec.)reconnects:                          0      (0.00 per sec.)General statistics:total time:                          600.0049stotal number of events:              744453Latency (ms):min:                                    0.87avg:                                    1.61max:                                  926.3995th percentile:                        2.11sum:                              1196638.09Threads fairness:events (avg/stddev):           372226.5000/3.50execution time (avg/stddev):   598.3190/0.01

6) oltp_read_only.lua

$ sysbench --config-file=mysql-sb.cnf --tables=100 oltp_read_only.lua  run
sysbench 1.0.20 (using bundled LuaJIT 2.1.0-beta2)Running the test with following options:
Number of threads: 2
Initializing random number generator from current timeInitializing worker threads...Threads started!SQL statistics:queries performed:read:                            7425740write:                           0other:                           1060820total:                           8486560transactions:                        530410 (883.99 per sec.)queries:                             8486560 (14143.89 per sec.)ignored errors:                      0      (0.00 per sec.)reconnects:                          0      (0.00 per sec.)General statistics:total time:                          600.0137stotal number of events:              530410Latency (ms):min:                                    1.97avg:                                    2.26max:                                   54.6395th percentile:                        3.07sum:                              1198568.01Threads fairness:events (avg/stddev):           265205.0000/33.00execution time (avg/stddev):   599.2840/0.00

7) oltp_update_index.lua

$ sysbench --config-file=mysql-sb.cnf --tables=100 oltp_update_index.lua run
sysbench 1.0.20 (using bundled LuaJIT 2.1.0-beta2)Running the test with following options:
Number of threads: 2
Initializing random number generator from current timeInitializing worker threads...Threads started!SQL statistics:queries performed:read:                            0write:                           145095other:                           4800953total:                           4946048transactions:                        4946048 (8243.33 per sec.)queries:                             4946048 (8243.33 per sec.)ignored errors:                      0      (0.00 per sec.)reconnects:                          0      (0.00 per sec.)General statistics:total time:                          600.0030stotal number of events:              4946048Latency (ms):min:                                    0.12avg:                                    0.24max:                                  259.2595th percentile:                        0.42sum:                              1192593.66Threads fairness:events (avg/stddev):           2473024.0000/862.00execution time (avg/stddev):   596.2968/0.08

8) oltp_update_non_index.lua

$ sysbench --config-file=mysql-sb.cnf --tables=100 oltp_update_non_index.lua run
sysbench 1.0.20 (using bundled LuaJIT 2.1.0-beta2)Running the test with following options:
Number of threads: 2
Initializing random number generator from current timeInitializing worker threads...Threads started!SQL statistics:queries performed:read:                            0write:                           141508other:                           4686830total:                           4828338transactions:                        4828338 (8047.17 per sec.)queries:                             4828338 (8047.17 per sec.)ignored errors:                      0      (0.00 per sec.)reconnects:                          0      (0.00 per sec.)General statistics:total time:                          600.0022stotal number of events:              4828338Latency (ms):min:                                    0.12avg:                                    0.25max:                                  382.2895th percentile:                        0.44sum:                              1192434.24Threads fairness:events (avg/stddev):           2414169.0000/3780.00execution time (avg/stddev):   596.2171/0.04

9) select_random_points.lua


10) select_random_ranges.lua


11) bulk_insert.lua

此测试与前面那些测试有些不同,它只会创建与线程数相同的个数的表,并且没有 talbes 参数。因此我们需要修改执行命令,先清理 sbtest1sbtest2 表的数据,然后再 prepare ,最后再 run

$ sysbench --config-file=mysql-sb.cnf bulk_insert.lua cleanup
$ sysbench --config-file=mysql-sb.cnf bulk_insert.lua prepare
$ sysbench --config-file=mysql-sb.cnf --tables=100 bulk_insert.lua run
sysbench 1.0.20 (using bundled LuaJIT 2.1.0-beta2)Running the test with following options:
Number of threads: 2
Initializing random number generator from current timeInitializing worker threads...Threads started!SQL statistics:queries performed:read:                            0write:                           2075other:                           0total:                           2075transactions:                        56561449 (94080.36 per sec.)queries:                             2075   (3.45 per sec.)ignored errors:                      0      (0.00 per sec.)reconnects:                          0      (0.00 per sec.)General statistics:total time:                          600.9490stotal number of events:              56561449Latency (ms):min:                                    0.00avg:                                    0.02max:                                 2011.2095th percentile:                        0.00sum:                              1182530.43Threads fairness:events (avg/stddev):           28280724.5000/13106.50execution time (avg/stddev):   591.2652/0.25

MySQL 数据库内的执行结果如下:

 MySQL  localhost:3310 ssl  sbtest  SQL > select count(*) from sbtest1;
+----------+
| count(*) |
+----------+
| 28293831 |
+----------+
1 row in set (1.7266 sec)MySQL  localhost:3310 ssl  sbtest  SQL > select count(*) from sbtest2;
+----------+
| count(*) |
+----------+
| 28267618 |
+----------+
1 row in set (1.8061 sec)

我们可以修改 times 参数为一个较小的值,因为没有必要批量插入 10 分钟的数据。

$ sysbench --config-file=mysql-sb.cnf bulk_insert.lua prepare --time=60
$ sysbench --config-file=mysql-sb.cnf bulk_insert.lua run --time=60
sysbench 1.0.20 (using bundled LuaJIT 2.1.0-beta2)Running the test with following options:
Number of threads: 2
Initializing random number generator from current timeInitializing worker threads...Threads started!SQL statistics:queries performed:read:                            0write:                           190other:                           0total:                           190transactions:                        5722434 (94526.75 per sec.)queries:                             190    (3.14 per sec.)ignored errors:                      0      (0.00 per sec.)reconnects:                          0      (0.00 per sec.)General statistics:total time:                          60.5316stotal number of events:              5722434Latency (ms):min:                                    0.00avg:                                    0.02max:                                 1102.7995th percentile:                        0.00sum:                               118906.30Threads fairness:events (avg/stddev):           2861217.0000/0.00execution time (avg/stddev):   59.4532/0.19

可以看到再命令行最后指定的 --times=60 覆盖了配置文件中指定的 time=600

 MySQL  localhost:3310 ssl  sbtest  SQL > select 'sbtest1' table_name,count(*) from sbtest1 union all-> select 'sbtest1' table_name,count(*) from sbtest2;
+------------+----------+
| table_name | count(*) |
+------------+----------+
| sbtest1    |  2861217 |
| sbtest1    |  2861217 |
+------------+----------+
2 rows in set (0.4175 sec)

5、清理数据

$ sysbench --config-file=mysql-sb.cnf oltp_common.lua --tables=100 cleanup

在这里插入图片描述

6、销毁 MySQL 沙盒实例

mysqlsh 终端中执行:

 MySQL  localhost:3310 ssl  sbtest  JS > dba.stopSandboxInstance(3310)
The MySQL sandbox instance on this host in 
3310 will be stoppedPlease enter the MySQL root password for the instance 'localhost:3310': ********
The active session is established to the sandbox being stopped so it's going to be closed.Stopping MySQL instance...Instance localhost:3310 successfully stopped.MySQL  JS > dba.deleteSandboxInstance(3310);Deleting MySQL instance...Instance localhost:3310 successfully deleted.

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

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

相关文章

指尖论文怎么用 #经验分享#学习方法

指尖论文是一款优秀的论文写作、查重降重工具,被广泛认可为高效、可靠、方便的辅助工具。那么,如何正确地使用指尖论文呢? 首先,用户需要注册一个指尖论文的账号,并登录到平台上。注册过程非常简单,只需要输…

瑞芯微RK3576|触觉智能:开启科技新篇章

更多产品详情可关注深圳触觉智能官网! “瑞芯微,创新不止步!”——全新芯片RK3576即将震撼登场。指引科技风潮,创造未来无限可能!这款芯片在瑞芯微不断创新和突破的道路上,不仅是对过往成就的完美延续&…

V R元宇宙平台的未来方向|V R主题馆加 盟|游戏体验馆

未来,VR元宇宙平台可能会呈现出以下发展趋势和可能性: 全面融合现实与虚拟世界: VR元宇宙平台将更加无缝地融合现实世界和虚拟世界,用户可以在虚拟环境中进行各种活动,与现实世界进行互动,并且体验到更加逼…

FileZilla 链接服务器提示 20 秒连接超时

FileZilla 有个默认设置是如果 20 秒没有数据的话会自动中断链接。 Command: Pass: **************** Error: Connection timed out after 20 seconds of inactivity Error: Could not connect to server修改配置 这个配置是可以修改的,修改的步骤为: …

数据可视化-ECharts Html项目实战(5)

在之前的文章中,我们学习了如何设置滚动图例,工具箱设置和插入图片。想了解的朋友可以查看这篇文章。同时,希望我的文章能帮助到你,如果觉得我的文章写的不错,请留下你宝贵的点赞,谢谢 数据可视化-ECharts…

Vue3 + Django 前后端分离项目实现密码认证登录

1、功能需求 通常中小型前后端项目,对安全要求不高,也可以采用密码认证方案。如果只用django来实现非常简单。采用 Vue3 前后端分离架构,实现起来稍繁琐一点,好处是可以利用各种前端技术栈,如element-plus UI库来渲染…

Git Commit 提交规范,变更日志、版本发布自动化和 Emoji 提交标准

前言 Git Commit 是开发的日常操作, 一个优秀的 Commit Message 不仅有助于他人 Review, 还可以有效的输出 CHANGELOG, 对项目的管理实际至关重要, 但是实际工作中却常常被大家忽略,希望通过本文,能够帮助大家规范 Git Commit,并且展示相关 …

Mongodb入门到入土,安装到实战,外包半年学习的成果

这是我参与「第四届青训营 」笔记创作活动的的第27天,今天主要记录前端进阶必须掌握内容Mongodb数据库,从搭建环境到运行数据库,然后使用MongodB; 一、文章内容 数据库基础知识关系型数据库和非关系型数据库为什么学习Mongodb数据库环境搭建及运行MongodbMongodb命…

【进程概念】启动进程 | 查看进程 | 创建进程

目录 启动进程 查看进程 方法1:/proc 方法2:查看脚本 ​方法3:系统调用获取进程标示符❗❗ 终止进程 创建进程(主fork) 🙂查看父子进程的pid 🙂进程创建/执行/终止 🙂多次重新启动进…

STM32 CAN的工作模式

STM32 CAN的工作模式 正常模式 正常模式下就是一个正常的CAN节点,可以向总线发送数据和接收数据。 静默模式 静默模式下,它自己的输出端的逻辑0数据会直接传输到它自己的输入端,逻辑1可以被发送到总线,所以它不能向总线发送显性…

鸿蒙开发实战:网络请求库【axios】

简介 [Axios] ,是一个基于 promise 的网络请求库,可以运行 node.js 和浏览器中。本库基于[Axios]原库v1.3.4版本进行适配,使其可以运行在 OpenHarmony,并沿用其现有用法和特性。 http 请求Promise APIrequest 和 response 拦截器…

Stable Diffusion实现光影字效果

昨天下午有人在群里发光影图片,大家都觉得很酷,我没怎么在意。直到早上我在小红书看到有人发同款图片,只是一晚上的时间点赞就超过了8000,而且评论数也很高,也可以做文字定制变现。研究了一下发现这个效果不难实现&…

数据结构/C++:哈希表

数据结构/C:哈希表 哈希表概念哈希函数直接定址法除留余数法 哈希冲突闭散列 - 开放定址法基本结构查找插入删除总代码展示 开散列 - 哈希桶基本结构查找插入删除代码展示 哈希表概念 在顺序表中,查找一个数据的时间复杂度为O(N);在平衡树这…

宋仕强论道之华强北科技创新说

宋仕强论道之华强北科技创新说,“创新”是深圳市和华强北灵魂,创新再加上敢想敢干永不言败,造就了深圳市经济奇迹和华强北财富神话!首次在深圳市落槌的“土地拍卖”,华强北“一米柜台”赋予独立经营权,把最…

通过jsDelivr实现Github的图床CDN加速

最近小伙伴们是否发现访问我的个人博客http://xiejava.ishareread.com/图片显示特别快了? 我的博客的图片是放在github上的,众所周知的原因,github访问不是很快,尤其是hexo博客用github做图床经常图片刷不出来。一直想换图床&…

提面 | 面试抽题

学习到更新日期面试抽题-1.2案例分析的思维本质2024-3-23 1提面抽屉论述问题的分类 1.1案例分析占总论 1.2案例分析的思维本质

rabbitmq 3.9.29 docker mac 管理员页面无法打开

SyntaxError: Unexpected token ‘catch’ SyntaxError: Unexpected token ‘catch’ at EJS.Compiler.compile (http://127.0.0.1:15672/js/ejs-1.0.min.js:1:6659) at new EJS (http://127.0.0.1:15672/js/ejs-1.0.min.js:1:1625) at format (http://127.0.0.1:15672/js/main…

【docker系列】深入理解 Docker 容器管理与清理

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

llvm后端

SelectionDAGBuilder是LLVM(Low Level Virtual Machine)编译器中的一个重要组件,它负责将LLVM中间表示(Intermediate Representation,IR)转换为SelectionDAG(选择有向无环图)的形式。…

java selenium 元素点击不了

最近做了一个页面爬取,很有意思被机缘巧合下解决了。 这个元素很奇怪,用xpath可以定位元素,但是就是click()不了。 试过了网上搜的一些办法: //尝试一 WebElement a_tag driver.findElement(By.xpath("xxx")); a_tag…