热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

oracle压力测试之orabm

数据库压力测试一、用orabm测试数据库CPUOrabm通过在用户指定的并发下运行指定数量的事务来测试系统性能.它主要测试数据库服务器的CPU性能和内存。orabm实际上是一堆sql的集合。orabm可以用在linuxwindowssolaris下使用。orabm不一定需要运行在数据库

数据库压力测试 一、用orabm测试数据库CPU Orabm通过在用户指定的并发下运行指定数量的事务来测试系统性能.它主要测试数据库服务器的CPU性能和内存。 orabm实际上是一堆sql的集合。 orabm可以用在linux/windows/solaris下使用。 orabm不一定需要运行在数据库

数据库压力测试

一、用orabm测试数据库CPU
Orabm通过在用户指定的并发下运行指定数量的事务来测试系统性能.它主要测试数据库服务器的CPU性能和内存。
orabm实际上是一堆sql的集合。
orabm可以用在linux/windows/solaris下使用。
orabm不一定需要运行在数据库所在服务器上,它可以运行在任何安装了9i客户端的终端上。你可以用客户端连接到远程数据库来测试远程数据库的性能状况。

因 为orabm主要测试的是CPU和内存,所以应该尽量避免其他因素影响测试,故使用orabm时,为了更好的测试CPU和内存的性能,最好把 db_cache_size设成大于200M,这样,所有的数据都可以放在内存中,不会因为物理I/O而使得测试不准确。使用orabm的一个步骤就是把 所有的表和索引都放到data buffer中。

1、下载软件
orabm是测试CPU得
http://www.linxcel.co.uk/orabm/orabm.tar

2、安装
安装主要分7个步骤,分别对应6个sql脚本和一个导入数据的小工具。如下所有脚本除第一个必须用拥有dba权限的用户执行外,其他的都可以用新建orabm用户执行。为了避免麻烦,最好都用system或者sys运行

1) create the ORABM user (assumes TOOLS tablespace, TEMP temporary tablespace)
第 一步是创建orabm用户,并作相应授权。注意,默认情况下,orabm用户的默认表空间是tools,临时表空间是temp。导入一个 Warehouses的数据量大概是100M,所以,你应该保证tools表空间大于150m,或者新建一个表空间,然后修改 orabm_user.sql里的相关信息。
sqlplus system/pwd @orabm_user
远程数据库使用:
sqlplus
system/pwd@tnsname @orabm_user

2) create the tables
这一步主要创建orabm测试需要的表。
sqlplus system/pwd @orabm_tab
远程数据库使用:
sqlplus
system/pwd@tnsname @orabm_tag

3) Load the data
导入测试所需的数据(orabmload在OS的对应版本的bin目录下)
$ orabmload Warehouses 1
远程数据库使用:
如果要测试的是远程数据库的话,
windows需要先set local=tnsname,tnsname是在tnsname.ora中配置的远程数据库的别名。
UNIX/LIINUX,需要先TWO_TASK=tnsname
$ orabmload Warehouses 1

4) create the indexes
这一步创建索引
sqlplus system/pwd @orabm_ind
远程数据库使用:
sqlplus
system/pwd@tnsname @orabm_ind

5) analyze the tables and indexes
分析表和索引
sqlplus system/pwd @orabm_analyze
远程数据库使用:
sqlplus
system/pwd@tnsname @orabm_analyze

6) create the stress-test PL/SQL procedures
创建压力测试所需的存储过程
sqlplus system/pwd @orabm_serverside_stress
远程数据库使用:
sqlplus
system/pwd@tnsname @orabm_serverside_stress

7) cache the table and index data in the SGA
把表和索引都放到SGA中,原因在上文已经介绍了。
sqlplus system/pwd @orabm_cache
远程数据库使用:
sqlplus
system/pwd@tnsname @orabm_cache

执行完这7个步骤,orabm的测试环境就算配置完成了。

3、测试
现在我们就可以进行测试了。设置好ORACLE_SID,然后进入到OS对应的版本的bin目录下:
如果测试本地数据库:
$ orabm 1 20000

如果测试远程数据库,则执行
C:> orabm 1 20000 tnsname
注意不要加"@"

orabm后接2个参数(如果测试远程的压力则接三个参数)。
第一个参数表示测试多少个并发(对应多个session)
第二个参数表示执行多少个事务(注意:不是所有的并发共执行多少事务,而是每个并发执行的事务数),一般来说,这个值设置为10000
第三个参数是在测试远程数据库的时候用的,值为tnsnames.ora配置的远程数据库连接的别名

orabm 2 1000
表示用2个并发执行1000个事务

orabm 1,2,6,10 1000
表示分别用1、2、6、19个并发执行1000个事务

执行的结果会打印在屏幕上,同时写到orabm所在目录的orabm..log。如果执行多次,则多次的执行结果都会追加到orabm..log中。

TPS 是Transactions Per Second 的 缩 写, 也 就 是 事 务 数/ 秒
tps的计算:每一个阶段所有session的tps相加就是当前测试的总tps了。

下面是一个测试实例:
环境配置如下:
CPU P4 2.6
MEM: 1G
OS: WINDOWS XP SP2
DATABASE: 9201
SGA:300M
LOGFILE: 100M
LOG_BUFFER: 3M

D:programeroracle tools压力orabmbinwindows>orabm 1,2,6,10,15,20,25,30 1000
0
---begin sess=1 txn=10000 ORACLE_SID=oracle9i Wed Sep 20 17:47:54 2006
oracle9i txn(all)=10000 xn(sam)=7999 t(sam)=15 tps=533 sl=3966(49.6%) on=2478(31
%) oi=1555(19.4%) end=200906-17:48:13
---end - Wed Sep 20 17:48:13 2006
---begin sess=2 txn=10000 ORACLE_SID=oracle9i Wed Sep 20 17:48:13 2006
oracle9i txn(all)=10000 xn(sam)=7999 t(sam)=28 tps=286 sl=3933(49.2%) on=2436(30
.5%) oi=1630(20.4%) end=200906-17:48:48
oracle9i txn(all)=10000 xn(sam)=7999 t(sam)=28 tps=286 sl=3925(49.1%) on=2422(30
.3%) oi=1652(20.7%) end=200906-17:48:48
---end - Wed Sep 20 17:48:48 2006
---begin sess=6 txn=10000 ORACLE_SID=oracle9i Wed Sep 20 17:48:48 2006
oracle9i txn(all)=10000 xn(sam)=7999 t(sam)=80 tps=100 sl=3978(49.7%) on=2415(30
.2%) oi=1606(20.1%) end=200906-17:50:28
oracle9i txn(all)=10000 xn(sam)=7999 t(sam)=77 tps=104 sl=4016(50.2%) on=2417(30
.2%) oi=1566(19.6%) end=200906-17:50:29
oracle9i txn(all)=10000 xn(sam)=7999 t(sam)=79 tps=101 sl=4078(51%) on=2374(29.7
%) oi=1547(19.3%) end=200906-17:50:29
oracle9i txn(all)=10000 xn(sam)=7999 t(sam)=86 tps=93 sl=3993(49.9%) on=2376(29.
7%) oi=1630(20.4%) end=200906-17:50:31
oracle9i txn(all)=10000 xn(sam)=7999 t(sam)=84 tps=95 sl=4049(50.6%) on=2321(29%
) oi=1629(20.4%) end=200906-17:50:31
oracle9i txn(all)=10000 xn(sam)=7999 t(sam)=86 tps=93 sl=3963(49.5%) on=2420(30.
3%) oi=1616(20.2%) end=200906-17:50:31
---end - Wed Sep 20 17:50:31 2006
---begin sess=10 txn=10000 ORACLE_SID=oracle9i Wed Sep 20 17:50:31 2006
oracle9i txn(all)=10000 xn(sam)=7999 t(sam)=112 tps=71 sl=4005(50.1%) on=2391(29
.9%) oi=1603(20%) end=200906-17:52:54
oracle9i txn(all)=10000 xn(sam)=7999 t(sam)=126 tps=63 sl=3994(49.9%) on=2433(30
.4%) oi=1572(19.7%) end=200906-17:53:05
oracle9i txn(all)=10000 xn(sam)=7999 t(sam)=125 tps=64 sl=3979(49.7%) on=2470(30
.9%) oi=1550(19.4%) end=200906-17:53:09
oracle9i txn(all)=10000 xn(sam)=7999 t(sam)=131 tps=61 sl=4030(50.4%) on=2361(29
.5%) oi=1608(20.1%) end=200906-17:53:13
oracle9i txn(all)=10000 xn(sam)=7999 t(sam)=134 tps=60 sl=3992(49.9%) on=2390(29
.9%) oi=1617(20.2%) end=200906-17:53:14
oracle9i txn(all)=10000 xn(sam)=7999 t(sam)=135 tps=59 sl=3998(50%) on=2352(29.4
%) oi=1649(20.6%) end=200906-17:53:15
oracle9i txn(all)=10000 xn(sam)=7999 t(sam)=138 tps=58 sl=3962(49.5%) on=2421(30
.3%) oi=1616(20.2%) end=200906-17:53:17
oracle9i txn(all)=10000 xn(sam)=7999 t(sam)=138 tps=58 sl=3999(50%) on=2412(30.2
%) oi=1588(19.9%) end=200906-17:53:17
oracle9i txn(all)=10000 xn(sam)=7999 t(sam)=136 tps=59 sl=3988(49.9%) on=2484(31
.1%) oi=1527(19.1%) end=200906-17:53:18
oracle9i txn(all)=10000 xn(sam)=7999 t(sam)=143 tps=56 sl=3992(49.9%) on=2365(29
.6%) oi=1642(20.5%) end=200906-17:53:18
---end - Wed Sep 20 17:53:18 2006
---begin sess=15 txn=10000 ORACLE_SID=oracle9i Wed Sep 20 17:53:18 2006
oracle9i txn(all)=10000 xn(sam)=7999 t(sam)=168 tps=48 sl=4029(50.4%) on=2377(29
.7%) oi=1593(19.9%) end=200906-17:56:51
oracle9i txn(all)=10000 xn(sam)=7999 t(sam)=170 tps=47 sl=4023(50.3%) on=2406(30
.1%) oi=1570(19.6%) end=200906-17:56:52
oracle9i txn(all)=10000 xn(sam)=7999 t(sam)=172 tps=47 sl=3932(49.2%) on=2484(31
.1%) oi=1583(19.8%) end=200906-17:57:01
oracle9i txn(all)=10000 xn(sam)=7999 t(sam)=191 tps=42 sl=4014(50.2%) on=2461(30
.8%) oi=1524(19.1%) end=200906-17:57:17
oracle9i txn(all)=10000 xn(sam)=7999 t(sam)=198 tps=40 sl=3993(49.9%) on=2396(30
%) oi=1610(20.1%) end=200906-17:57:19
oracle9i txn(all)=10000 xn(sam)=7999 t(sam)=192 tps=42 sl=4000(50%) on=2392(29.9
%) oi=1607(20.1%) end=200906-17:57:19
oracle9i txn(all)=10000 xn(sam)=7999 t(sam)=202 tps=40 sl=3996(50%) on=2390(29.9
%) oi=1613(20.2%) end=200906-17:57:21
oracle9i txn(all)=10000 xn(sam)=7999 t(sam)=195 tps=41 sl=4023(50.3%) on=2365(29
.6%) oi=1611(20.1%) end=200906-17:57:21
oracle9i txn(all)=10000 xn(sam)=7999 t(sam)=200 tps=40 sl=3962(49.5%) on=2411(30
.1%) oi=1626(20.3%) end=200906-17:57:21
oracle9i txn(all)=10000 xn(sam)=7999 t(sam)=203 tps=39 sl=4039(50.5%) on=2385(29
.8%) oi=1575(19.7%) end=200906-17:57:21
oracle9i txn(all)=10000 xn(sam)=7999 t(sam)=198 tps=40 sl=3998(50%) on=2406(30.1
%) oi=1595(19.9%) end=200906-17:57:22
oracle9i txn(all)=10000 xn(sam)=7999 t(sam)=204 tps=39 sl=4025(50.3%) on=2364(29
.6%) oi=1610(20.1%) end=200906-17:57:22
oracle9i txn(all)=10000 xn(sam)=7999 t(sam)=208 tps=38 sl=3944(49.3%) on=2475(30
.9%) oi=1580(19.8%) end=200906-17:57:23
oracle9i txn(all)=10000 xn(sam)=7999 t(sam)=201 tps=40 sl=3944(49.3%) on=2448(30
.6%) oi=1607(20.1%) end=200906-17:57:23
oracle9i txn(all)=10000 xn(sam)=7999 t(sam)=217 tps=37 sl=3960(49.5%) on=2451(30
.6%) oi=1588(19.9%) end=200906-17:57:24
---end - Wed Sep 20 17:57:24 2006
---begin sess=20 txn=10000 ORACLE_SID=oracle9i Wed Sep 20 17:57:24 2006
oracle9i txn(all)=10000 xn(sam)=7999 t(sam)=208 tps=38 sl=4033(50.4%) on=2308(28
.9%) oi=1658(20.7%) end=200906-18:01:49
oracle9i txn(all)=10000 xn(sam)=7999 t(sam)=254 tps=31 sl=4093(51.2%) on=2382(29
.8%) oi=1524(19.1%) end=200906-18:02:41
oracle9i txn(all)=10000 xn(sam)=7999 t(sam)=257 tps=31 sl=3988(49.9%) on=2416(30
.2%) oi=1595(19.9%) end=200906-18:02:41
oracle9i txn(all)=10000 xn(sam)=7999 t(sam)=252 tps=32 sl=4088(51.1%) on=2375(29
.7%) oi=1536(19.2%) end=200906-18:02:42
oracle9i txn(all)=10000 xn(sam)=7999 t(sam)=260 tps=31 sl=3970(49.6%) on=2422(30
....

oracle9i txn(all)=10000 xn(sam)=7999 t(sam)=272 tps=29 sl=4005(50.1%) on=2402(30
%) oi=1592(19.9%) end=200906-18:02:55
oracle9i txn(all)=10000 xn(sam)=7999 t(sam)=280 tps=29 sl=4002(50%) on=2420(30.3
%) oi=1577(19.7%) end=200906-18:02:55
oracle9i txn(all)=10000 xn(sam)=7999 t(sam)=276 tps=29 sl=3981(49.8%) on=2428(30
.4%) oi=1590(19.9%) end=200906-18:02:56
oracle9i txn(all)=10000 xn(sam)=7999 t(sam)=289 tps=28 sl=3974(49.7%) on=2399(30
%) oi=1626(20.3%) end=200906-18:02:56
oracle9i txn(all)=10000 xn(sam)=7999 t(sam)=276 tps=29 sl=4027(50.3%) on=2379(29
.7%) oi=1593(19.9%) end=200906-18:02:56
oracle9i txn(all)=10000 xn(sam)=7999 t(sam)=272 tps=29 sl=4031(50.4%) on=2399(30
%) oi=1569(19.6%) end=200906-18:02:56
---end - Wed Sep 20 18:02:56 2006
---begin sess=25 txn=10000 ORACLE_SID=oracle9i Wed Sep 20 18:02:56 2006
oracle9i txn(all)=10000 xn(sam)=7999 t(sam)=235 tps=34 sl=3996(50%) on=2414(30.2
%) oi=1589(19.9%) end=200906-18:07:56
oracle9i txn(all)=10000 xn(sam)=7999 t(sam)=242 tps=33 sl=3997(50%) on=2408(30.1
%) oi=1594(19.9%) end=200906-18:07:57
oracle9i txn(all)=10000 xn(sam)=7999 t(sam)=308 tps=26 sl=4058(50.7%) on=2387(29
.8%) oi=1554(19.4%) end=200906-18:09:16
oracle9i txn(all)=10000 xn(sam)=7999 t(sam)=305 tps=26 sl=3959(49.5%) on=2433(30
.4%) oi=1607(20.1%) end=200906-18:09:17
oracle9i txn(all)=10000 xn(sam)=7999 t(sam)=307 tps=26 sl=4051(50.6%) on=2387(29
.8%) oi=1561(19.5%) end=200906-18:09:26
oracle9i txn(all)=10000 xn(sam)=7999 t(sam)=327 tps=24 sl=3972(49.7%) on=2444(30
.6%) oi=1583(19.8%) end=200906-18:09:26
oracle9i txn(all)=10000 xn(sam)=7999 t(sam)=330 tps=24 sl=4022(50.3%) on=2387(29
.8%) oi=1590(19.9%) end=200906-18:09:27
oracle9i txn(all)=10000 xn(sam)=7999 t(sam)=312 tps=26 sl=3973(49.7%) on=2413(30
.2%) oi=1613(20.2%) end=200906-18:09:29
oracle9i txn(all)=10000 xn(sam)=7999 t(sam)=320 tps=25 sl=4050(50.6%) on=2378(29
.7%) oi=1571(19.6%) end=200906-18:09:30
oracle9i txn(all)=10000 xn(sam)=7999 t(sam)=314 tps=25 sl=4005(50.1%) on=2366(29
.6%) oi=1628(20.4%) end=200906-18:09:30
oracle9i txn(all)=10000 xn(sam)=7999 t(sam)=314 tps=25 sl=4005(50.1%) on=2366(29
.6%) oi=1628(20.4%) end=200906-18:09:30
oracle9i txn(all)=10000 xn(sam)=7999 t(sam)=332 tps=24 sl=3965(49.6%) on=2409(30
.1%) oi=1625(20.3%) end=200906-18:09:30
oracle9i txn(all)=10000 xn(sam)=7999 t(sam)=317 tps=25 sl=3997(50%) on=2424(30.3
%) oi=1578(19.7%) end=200906-18:09:32
oracle9i txn(all)=10000 xn(sam)=7999 t(sam)=316 tps=25 sl=3970(49.6%) on=2384(29
.8%) oi=1645(20.6%) end=200906-18:09:33
....

oracle9i txn(all)=10000 xn(sam)=7999 t(sam)=350 tps=23 sl=3966(49.6%) on=2449(30
.6%) oi=1584(19.8%) end=200906-18:09:41
oracle9i txn(all)=10000 xn(sam)=7999 t(sam)=350 tps=23 sl=4030(50.4%) on=2328(29
.1%) oi=1641(20.5%) end=200906-18:09:42
oracle9i txn(all)=10000 xn(sam)=7999 t(sam)=353 tps=23 sl=4027(50.3%) on=2414(30
.2%) oi=1558(19.5%) end=200906-18:09:43
---end - Wed Sep 20 18:09:43 2006
---begin sess=30 txn=10000 ORACLE_SID=oracle9i Wed Sep 20 18:09:43 2006
oracle9i txn(all)=10000 xn(sam)=7999 t(sam)=286 tps=28 sl=3942(49.3%) on=2392(29
.9%) oi=1665(20.8%) end=200906-18:15:35
oracle9i txn(all)=10000 xn(sam)=7999 t(sam)=288 tps=28 sl=4001(50%) on=2396(30%)
oi=1602(20%) end=200906-18:15:44
oracle9i txn(all)=10000 xn(sam)=7999 t(sam)=286 tps=28 sl=3912(48.9%) on=2444(30
.6%) oi=1643(20.5%) end=200906-18:15:51
oracle9i txn(all)=10000 xn(sam)=7999 t(sam)=373 tps=21 sl=4007(50.1%) on=2408(30
.1%) oi=1584(19.8%) end=200906-18:17:24
oracle9i txn(all)=10000 xn(sam)=7999 t(sam)=372 tps=22 sl=4012(50.2%) on=2375(29
.7%) oi=1612(20.2%) end=200906-18:17:25
oracle9i txn(all)=10000 xn(sam)=7999 t(sam)=371 tps=22 sl=3987(49.8%) on=2386(29
....

oracle9i txn(all)=10000 xn(sam)=7999 t(sam)=384 tps=21 sl=4020(50.3%) on=2389(29
.9%) oi=1590(19.9%) end=200906-18:17:44
oracle9i txn(all)=10000 xn(sam)=7999 t(sam)=395 tps=20 sl=4002(50%) on=2418(30.2
%) oi=1579(19.7%) end=200906-18:17:44
oracle9i txn(all)=10000 xn(sam)=7999 t(sam)=394 tps=20 sl=4037(50.5%) on=2406(30
.1%) oi=1556(19.5%) end=200906-18:17:45
oracle9i txn(all)=10000 xn(sam)=7999 t(sam)=390 tps=21 sl=3959(49.5%) on=2389(29
.9%) oi=1651(20.6%) end=200906-18:17:45
oracle9i txn(all)=10000 xn(sam)=7999 t(sam)=395 tps=20 sl=3978(49.7%) on=2409(30
.1%) oi=1612(20.2%) end=200906-18:17:47
oracle9i txn(all)=10000 xn(sam)=7999 t(sam)=409 tps=20 sl=3988(49.9%) on=2393(29
.9%) oi=1618(20.2%) end=200906-18:17:49
oracle9i txn(all)=10000 xn(sam)=7999 t(sam)=391 tps=20 sl=4005(50.1%) on=2407(30
.1%) oi=1587(19.8%) end=200906-18:17:51
oracle9i txn(all)=10000 xn(sam)=7999 t(sam)=387 tps=21 sl=4024(50.3%) on=2433(30
.4%) oi=1542(19.3%) end=200906-18:17:53
oracle9i txn(all)=10000 xn(sam)=7999 t(sam)=394 tps=20 sl=3962(49.5%) on=2407(30
.1%) oi=1630(20.4%) end=200906-18:17:54
oracle9i txn(all)=10000 xn(sam)=7999 t(sam)=404 tps=20 sl=3991(49.9%) on=2371(29
.6%) oi=1637(20.5%) end=200906-18:17:54
oracle9i txn(all)=10000 xn(sam)=7999 t(sam)=402 tps=20 sl=4066(50.8%) on=2386(29
.8%) oi=1547(19.3%) end=200906-18:17:54
oracle9i txn(all)=10000 xn(sam)=7999 t(sam)=409 tps=20 sl=3943(49.3%) on=2545(31
.8%) oi=1511(18.9%) end=200906-18:17:55
oracle9i txn(all)=10000 xn(sam)=7999 t(sam)=399 tps=20 sl=4013(50.2%) on=2422(30
.3%) oi=1564(19.6%) end=200906-18:17:55
oracle9i txn(all)=10000 xn(sam)=7999 t(sam)=415 tps=19 sl=3964(49.6%) on=2425(30
.3%) oi=1610(20.1%) end=200906-18:17:56
oracle9i txn(all)=10000 xn(sam)=7999 t(sam)=415 tps=19 sl=3982(49.8%) on=2408(30
.1%) oi=1609(20.1%) end=200906-18:17:56
oracle9i txn(all)=10000 xn(sam)=7999 t(sam)=407 tps=20 sl=4017(50.2%) on=2431(30
.4%) oi=1551(19.4%) end=200906-18:17:56
oracle9i txn(all)=10000 xn(sam)=7999 t(sam)=427 tps=19 sl=4024(50.3%) on=2368(29
.6%) oi=1607(20.1%) end=200906-18:17:56
oracle9i txn(all)=10000 xn(sam)=7999 t(sam)=420 tps=19 sl=4000(50%) on=2397(30%)
oi=1602(20%) end=200906-18:17:57
---end - Wed Sep 20 18:17:57 2006

其中:
txn(all)----代表Total transaction Count,总的事务数量.
xn(sam)-----采样的事务数量
t(sam)------采样事务运行的时间.

这个结果太乱,我们可以用orabm提供的脚本orabm_tps.sh格式化一下:
这个脚本一般在linux才可用,本人的机器在windows下安装了一些linux加强工具,所以可以正常运行这个脚本
D:programeroracle tools压力orabmbin>orabm_tps.sh orabm.oracle9i.log
ORACLE_SID=oracle9i sess=1 tps=500
ORACLE_SID=oracle9i sess=3 tps=576
ORACLE_SID=oracle9i sess=1 tps=533
ORACLE_SID=oracle9i sess=2 tps=572
ORACLE_SID=oracle9i sess=6 tps=586
ORACLE_SID=oracle9i sess=10 tps=609
ORACLE_SID=oracle9i sess=15 tps=620
ORACLE_SID=oracle9i sess=20 tps=610
ORACLE_SID=oracle9i sess=25 tps=631
ORACLE_SID=oracle9i sess=30 tps=632

在执行不要执行其他程序,正常情况下,无论多少个并发,CPU的利用率应该在100%
从结果可以看出,本机的tps在610左右。

并非并发数越多,tps就越大,有时候随着并发的增多,tps反而减小。
如果发现随着并发的增大,tps并没有明显增加,或者反而减小了,则说明已经到了系统的瓶颈了。这个临界点可以看作是系统的所能承受最大tps了。

推荐阅读
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • 如何配置Unturned服务器及其消息设置
    本文详细介绍了Unturned服务器的配置方法和消息设置技巧,帮助用户了解并优化服务器管理。同时,提供了关于云服务资源操作记录、远程登录设置以及文件传输的相关补充信息。 ... [详细]
  • 本文详细介绍了如何在 Linux 平台上安装和配置 PostgreSQL 数据库。通过访问官方资源并遵循特定的操作步骤,用户可以在不同发行版(如 Ubuntu 和 Red Hat)上顺利完成 PostgreSQL 的安装。 ... [详细]
  • 本文详细分析了Hive在启动过程中遇到的权限拒绝错误,并提供了多种解决方案,包括调整文件权限、用户组设置以及环境变量配置等。 ... [详细]
  • PyCharm下载与安装指南
    本文详细介绍如何从官方渠道下载并安装PyCharm集成开发环境(IDE),涵盖Windows、macOS和Linux系统,同时提供详细的安装步骤及配置建议。 ... [详细]
  • 在计算机技术的学习道路上,51CTO学院以其专业性和专注度给我留下了深刻印象。从2012年接触计算机到2014年开始系统学习网络技术和安全领域,51CTO学院始终是我信赖的学习平台。 ... [详细]
  • 本周信息安全小组主要进行了CTF竞赛相关技能的学习,包括HTML和CSS的基础知识、逆向工程的初步探索以及整数溢出漏洞的学习。此外,还掌握了Linux命令行操作及互联网工作原理的基本概念。 ... [详细]
  • Linux 系统启动故障排除指南:MBR 和 GRUB 问题
    本文详细介绍了 Linux 系统启动过程中常见的 MBR 扇区和 GRUB 引导程序故障及其解决方案,涵盖从备份、模拟故障到恢复的具体步骤。 ... [详细]
  • 深入理解Cookie与Session会话管理
    本文详细介绍了如何通过HTTP响应和请求处理浏览器的Cookie信息,以及如何创建、设置和管理Cookie。同时探讨了会话跟踪技术中的Session机制,解释其原理及应用场景。 ... [详细]
  • 解决Linux系统中pygraphviz安装问题
    本文探讨了在Linux环境下安装pygraphviz时遇到的常见问题,并提供了详细的解决方案和最佳实践。 ... [详细]
  • 本文介绍了一款用于自动化部署 Linux 服务的 Bash 脚本。该脚本不仅涵盖了基本的文件复制和目录创建,还处理了系统服务的配置和启动,确保在多种 Linux 发行版上都能顺利运行。 ... [详细]
  • CMake跨平台开发实践
    本文介绍如何使用CMake支持不同平台的代码编译。通过一个简单的示例,我们将展示如何编写CMakeLists.txt以适应Linux和Windows平台,并实现跨平台的函数调用。 ... [详细]
  • 在Linux系统中配置并启动ActiveMQ
    本文详细介绍了如何在Linux环境中安装和配置ActiveMQ,包括端口开放及防火墙设置。通过本文,您可以掌握完整的ActiveMQ部署流程,确保其在网络环境中正常运行。 ... [详细]
  • 从 .NET 转 Java 的自学之路:IO 流基础篇
    本文详细介绍了 Java 中的 IO 流,包括字节流和字符流的基本概念及其操作方式。探讨了如何处理不同类型的文件数据,并结合编码机制确保字符数据的正确读写。同时,文中还涵盖了装饰设计模式的应用,以及多种常见的 IO 操作实例。 ... [详细]
author-avatar
jwbnmbnm
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有