Hiha.
I whakatau ahau ki te whakapuaki i aku kitenga - te hua o te whakaaro, te whakamatautau me te he.
Ma te nui: ehara tenei i te mea i kitea - he mea mohio tenei katoa mo te wa roa, ki te hunga e whai waahi ana ki te tukatuka raraunga tatauranga me te arotautanga o nga punaha, ehara i te mea ko te DBMS.
A: ae, e mohio ana ratou, ka tuhia e ratou nga tuhinga whakamere mo a raatau rangahau,
I tetahi atu taha: kaore au e kite i te korero whanui, i te horahanga ranei o tenei huarahi i runga i te Ipurangi i waenga i nga tohunga IT, DBA.
Na, ki te waahi.
Me whakaaro he mahi ta tatou: ki te whakarite i tetahi punaha ratonga hei mahi i etahi momo mahi.
E mohiotia ana mo tenei mahi: he aha te mea, he pehea te ine i te kounga o tenei mahi, he aha te paearu mo te ine i tenei kounga.
Me whakaaro ano he iti ake ranei te mohio me te mohio: me pehea te mahi i roto i tenei punaha ratonga.
"Nui atu iti iho ranei" - ko te tikanga ka taea te whakarite (me te tiki mai ranei i tetahi waahi) tetahi taputapu, whaipainga, ratonga ka taea te whakakotahi me te tono ki te punaha me te utaina whakamatautau e tika ana mo nga mea ka mahia, newzealand.govt.nz -- hei honotanga ki ngā whakaratonga o te kāwanatanga o Aotearoa ā - pokapū & ā - takiwā .
Kaati, me whakaaro tatou kua mohiotia he huinga o nga tawhā whakatikatika mo tenei punaha ratonga, ka taea te whakamahi hei whirihora i tenei punaha i runga i te hua o ana mahi.
He aha te raru - kaore he tino mohio ki tenei punaha ratonga, ka taea e koe te whirihora i nga tautuhinga o tenei punaha mo te kawenga a meake nei i runga i tetahi papaanga ka whiwhi i nga hua e hiahiatia ana o te punaha.
Kaati. Ko te ahua tonu tenei.
Ka aha koe i konei?
Kaati, ko te mea tuatahi ka puta ki te hinengaro ko te titiro ki nga tuhinga mo tenei punaha. Kia mohio he aha nga awhe e whakaaetia ana mo nga uara o nga tawhā whakatikatika. Na, hei tauira, ma te whakamahi i te tikanga whakaheke, tohua nga uara mo nga tawhā punaha i roto i nga whakamatautau.
Ko era. hoatu ki te punaha etahi momo whirihoranga, i te ahua o te huinga uara motuhake mo ona tawhā whirihoranga.
Hoatu he kawenga whakamatautau ki a ia, ma te whakamahi i tenei taputapu-taputapu, kaiwhakaputa kawenga.
A ka titiro ki te uara - te whakautu, te ine ranei o te kounga o te punaha.
Ko te whakaaro tuarua pea ko te whakatau he wa roa rawa tenei.
Ana, ara: mena he maha nga tawhā whakakoi, mena he nui nga awhe o o raatau uara e kapi ana, mena he roa te wa e whakaotia ai e ia whakamatautau kawenga, na: ae, ka pau pea he moni kaore e whakaaetia. o te wa.
Ana, koinei nga mea ka taea e koe te mohio me te mahara.
Ka kitea e koe kei roto i te huinga o nga uara o nga tawhā tautuhinga punaha ratonga he vector, hei raupapa o etahi uara.
Ko ia vector, he rite etahi atu mea (i te mea karekau e pa ki tenei vector), e rite ana ki te uara ineine tino - he tohu mo te kounga o te mahi punaha i raro i te kawenga whakamatautau.
ie
Me tohu tatou i te vector whirihoranga pūnaha hei te wahi ; Kei hea — te maha o nga tawhā whirihoranga punaha, e hia o enei tawhā kei reira.
Me te uara o te ine e rite ana ki tenei kia tohu tatou i te reira rite
, ka whiwhi tatou i tetahi mahi:
Na, ka tae tonu mai nga mea katoa, i taku keehi: kua warewarehia mai i aku ra akonga, nga algorithms mo te rapu i te tino nui o tetahi mahi.
Kati, engari i konei ka ara ake he patai whakahaere me te tono: ko tehea algorithm hei whakamahi.
- I roto i te tikanga - kia taea e koe te tohu iti ma te ringaringa.
- A mo te mahi, i.e. i kitea te pito (mehemea he kotahi), pai, he tere ake i te hekenga taurite.
Ko te tohu tuatahi me titiro tatou ki etahi taiao kua oti kee te whakatinana i aua momo hātepe, a, i etahi ahuatanga, kua rite mo te whakamahi i roto i te waehere.
Ana, e mohio ana ahau python
и cran-r
Ko te tohu tuarua me panui koe mo nga algorithms ake, he aha ratou, he aha o raatau whakaritenga, nga ahuatanga o a raatau mahi.
A ko nga mea e hoatu ana ka taea te whai hua - nga hua, mai i te algorithm ake ranei.
Ka taea ranei te tiki mai i nga hua o te algorithm.
He nui te whakawhirinaki ki nga tikanga whakauru.
Hei tauira, ki te mea, na etahi take, me tere ake te whiwhi i te hua, me titiro koe ki nga hautei hekenga whakararo me te whiriwhiri i tetahi.
Ranei, ki te kore e tino nui te wa, ka taea e koe, hei tauira, te whakamahi i nga tikanga arotautanga stochastic, penei i te algorithm ira.
E whakaaro ana ahau ki te mahi o tenei huarahi, te whiriwhiri i te whirihoranga o te punaha, te whakamahi i te algorithm ira, i te waa e whai ake nei, penei: mahi taiwhanga.
Taketake:
- Me waiho, hei punaha ratonga:
oracle xe 18c
- Tukuna kia mahi i nga mahi tauwhitinga me te whainga: ki te whiwhi i te putanga teitei rawa atu o te papamahi-iti, i roto i nga tauwhitinga/sec.
- Ko nga whakawhitinga ka tino rerekee i te ahua o te mahi me nga raraunga me te horopaki o te mahi.
Kia whakaae tatou he tauwhitinga enei kaore e mahi i te nui o nga raraunga ripanga.
I roto i te tikanga karekau ratou e whakaputa raraunga wetewete ake i te mahi ano me te kore e tukatuka i nga paheketanga nui o nga rarangi me nga ripanga nui.
He tauwhitinga enei ka huri i te rarangi kotahi i roto i te teepu nui ake iti iho ranei, me te iti o nga taupū kei runga i tenei ripanga.
I roto i tenei ahuatanga: ko te hua o te papamahi iti mo te tukatuka i nga whakawhitinga, me te rahui, ka whakatauhia e te kounga o te tukatuka e te redox database.
Whakakahoretanga - mena ka korero motuhake tatou mo nga tautuhinga subdb.
No te mea, i roto i te take whanui, tera pea, hei tauira, nga raka tauwhitinga i waenga i nga waahi SQL, na te hoahoa o te mahi a te kaiwhakamahi me nga raraunga ripanga me te tauira ripanga ranei.
Ko te tikanga, ka pa te paheketanga ki te ine TPS, a he mea kee tenei, e pa ana ki te paparanga-iti: na, koinei te ahua o te tauira ripanga me te mahi me nga raraunga kei roto ka puta nga aukati.
Na reira, mo te ma o te whakamatautau, ka whakakorehia e matou tenei take, a kei raro nei ka whakamarama ahau me pehea.
- Me whakaaro tatou, mo te tino mohio, ko te 100% o nga whakahau SQL i tukuna ki te paataka korero he whakahau DML.
Kia rite nga ahuatanga o te kaiwhakamahi me te papamahi-iti i roto i nga whakamatautau.
Ara: te maha o nga huihuinga skl, nga raraunga ripanga, me pehea te mahi a skl ki a raatau. - Ka mahi a Subd
FORCE LOGGING
,ARCHIVELOG
mods. Kua wetohia te aratau Flashback-basebase, kei te taumata iti. - Mahi ano i nga raarangi: kei roto i tetahi punaha konae motuhake, i runga i te "kopae" motuhake;
Te toenga o te wahanga tinana o te putunga: i tetahi atu, he punaha konae motuhake, i runga i te "kopae" motuhake:
Nga korero mo te taputapu tinana. wāhanga pātengi raraunga taiwhanga
SQL> select status||' '||name from v$controlfile;
/db/u14/oradata/XE/control01.ctl
SQL> select GROUP#||' '||MEMBER from v$logfile;
1 /db/u02/oradata/XE/redo01_01.log
2 /db/u02/oradata/XE/redo02_01.log
SQL> select FILE_ID||' '||TABLESPACE_NAME||' '||round(BYTES/1024/1024,2)||' '||FILE_NAME as col from dba_data_files;
4 UNDOTBS1 2208 /db/u14/oradata/XE/undotbs1_01.dbf
2 SLOB 128 /db/u14/oradata/XE/slob01.dbf
7 USERS 5 /db/u14/oradata/XE/users01.dbf
1 SYSTEM 860 /db/u14/oradata/XE/system01.dbf
3 SYSAUX 550 /db/u14/oradata/XE/sysaux01.dbf
5 MONITOR 128 /db/u14/oradata/XE/monitor.dbf
SQL> !cat /proc/mounts | egrep "/db/u[0-2]"
/dev/vda1 /db/u14 ext4 rw,noatime,nodiratime,data=ordered 0 0
/dev/mapper/vgsys-ora_redo /db/u02 xfs rw,noatime,nodiratime,attr2,nobarrier,inode64,logbsize=256k,noquota 0 0
I te timatanga, i raro i enei tikanga kawenga, i hiahia ahau ki te whakamahi i te subd tauwhitinga
He ahua whakamiharo tenei, ka kii ahau i te kaituhi:
Kei te ngakau o SLOB ko te "tikanga SLOB." Ko te tikanga SLOB e whai ana ki te whakamatautau i nga papaaho
kaore he tautohetohe tono. Kaore e taea e tetahi te taraiwa i nga mahinga taputapu morahi
te whakamahi i te waehere tono, hei tauira, herea e te raka tono, ara ranei
te tiri i nga poraka Oracle Database. E tika ana—he utu nui ina tiri raraunga
i roto i nga poraka raraunga! Engari ko te SLOB—i roto i tana whakatakotoranga taunoa—kare e pa ki enei tautohetohe.
Ko tenei whakapuakanga: he rite, he.
He watea ki te whakarite i te tohu whakarara o nga huihuinga cl, koinei te mea matua -t
whakarewahia te whaipainga runit.sh
mai SLOB
Ko te paheketanga o nga whakahau DML kua whakaritea, i te maha o nga karere kuputuhi ka tukuna ki te subd, ia wahanga kuputuhi, tawhā UPDATE_PCT
He mea motuhake me te tino watea: SLOB
ko ia ano, i mua i muri mai i te wahanga kawenga - ka whakarite i te kete tatauranga, i nga awr-snapshots (he aha te mea kua whakaritea hei whakarite).
Heoi, ka puta ko tera SLOB
kaore i te tautoko i nga waahanga SQL me te roa o te iti iho i te 30 hēkona.
Na reira, i tohu tuatahi ahau i taku ake, mahi-kaiahuwhenua o te utauta, katahi ka mau tonu te mahi.
Me whakamarama ahau he aha te mahi a te kaiuta me te pehea e mahi ai, mo te maarama.
Ko te tikanga he penei te ahua o te utauta:
Waehere kaimahi
function dotx()
{
local v_period="$2"
[ -z "v_period" ] && v_period="0"
source "/home/oracle/testingredotracе/config.conf"
$ORACLE_HOME/bin/sqlplus -S system/${v_system_pwd} << __EOF__
whenever sqlerror exit failure
set verify off
set echo off
set feedback off
define wnum="$1"
define period="$v_period"
set appinfo worker_&&wnum
declare
v_upto number;
v_key number;
v_tots number;
v_cts number;
begin
select max(col1) into v_upto from system.testtab_&&wnum;
SELECT (( SYSDATE - DATE '1970-01-01' ) * 86400 ) into v_cts FROM DUAL;
v_tots := &&period + v_cts;
while v_cts <= v_tots
loop
v_key:=abs(mod(dbms_random.random,v_upto));
if v_key=0 then
v_key:=1;
end if;
update system.testtab_&&wnum t
set t.object_name=translate(dbms_random.string('a', 120), 'abcXYZ', '158249')
where t.col1=v_key
;
commit;
SELECT (( SYSDATE - DATE '1970-01-01' ) * 86400 ) into v_cts FROM DUAL;
end loop;
end;
/
exit
__EOF__
}
export -f dotx
Ka whakarewahia nga kaimahi penei:
Nga kaimahi oma
echo "starting test, duration: ${TEST_DURATION}" >> "$v_logfile"
for((i=1;i<="$SQLSESS_COUNT";i++))
do
echo "sql-session: ${i}" >> "$v_logfile"
dotx "$i" "${TEST_DURATION}" &
done
echo "waiting..." >> "$v_logfile"
wait
Na ka rite nga tepu mo nga kaimahi penei:
Te hanga ripanga
function createtable() {
source "/home/oracle/testingredotracе/config.conf"
$ORACLE_HOME/bin/sqlplus -S system/${v_system_pwd} << __EOF__
whenever sqlerror continue
set verify off
set echo off
set feedback off
define wnum="$1"
define ts_name="slob"
begin
execute immediate 'drop table system.testtab_&&wnum';
exception when others then null;
end;
/
create table system.testtab_&&wnum tablespace &&ts_name as
select rownum as col1, t.*
from sys.dba_objects t
where rownum<1000
;
create index testtab_&&wnum._idx on system.testtab_&&wnum (col1);
--alter table system.testtab_&&wnum nologging;
--alter index system.testtab_&&wnum._idx nologging;
exit
__EOF__
}
export -f createtable
seq 1 1 "$SQLSESS_COUNT" | xargs -n 1 -P 4 -I {} -t bash -c "createtable "{}"" | tee -a "$v_logfile"
echo "createtable done" >> "$v_logfile"
Ko era. Mo ia kaimahi (ko te tikanga: he huihuinga SQL motuhake i te DB) ka hangaia he ripanga motuhake, hei mahi ma te kaimahi.
Ma tenei ka kore he raka tauwhitinga i waenga i nga huihuinga kaimahi.
Ko ia kaimahi: he rite tonu te mahi, me tana ake tepu, he rite tonu nga tepu.
Ka mahi nga kaimahi katoa mo te wa kotahi.
I tua atu, mo te wa roa, hei tauira, ka tino puta he huringa poro, me te neke atu i te kotahi.
Kaati, i runga i tenei, ka puta nga utu me nga paanga.
I taku keehi, i whirihorahia e ahau te roanga o te mahi a nga kaimahi i te 8 meneti.
He wahanga o te purongo putea tatauranga e whakaatu ana i te mahi o te subd i raro i te utaina
Database DB Id Instance Inst Num Startup Time Release RAC
~~~~~~~~ ----------- ------------ -------- --------------- ----------- ---
2929910313 XE 1 07-Sep-20 23:12 18.0.0.0.0 NO
Host Name Platform CPUs Cores Sockets Memory (G)
~~~~ ---------------- ---------------------- ----- ----- ------- ------------
billing.izhevsk1 Linux x86 64-bit 2 2 1 15.6
Snapshot Snap Id Snap Time Sessions Curs/Sess Comment
~~~~~~~~ ---------- ------------------ -------- --------- ------------------
Begin Snap: 1630 07-Sep-20 23:12:27 55 .7
End Snap: 1631 07-Sep-20 23:20:29 62 .6
Elapsed: 8.03 (mins) Av Act Sess: 8.4
DB time: 67.31 (mins) DB CPU: 15.01 (mins)
Cache Sizes Begin End
~~~~~~~~~~~ ---------- ----------
Buffer Cache: 1,392M Std Block Size: 8K
Shared Pool: 288M Log Buffer: 103,424K
Load Profile Per Second Per Transaction Per Exec Per Call
~~~~~~~~~~~~ ------------------ ----------------- ----------- -----------
DB time(s): 8.4 0.0 0.00 0.20
DB CPU(s): 1.9 0.0 0.00 0.04
Redo size: 7,685,765.6 978.4
Logical reads: 60,447.0 7.7
Block changes: 47,167.3 6.0
Physical reads: 8.3 0.0
Physical writes: 253.4 0.0
User calls: 42.6 0.0
Parses: 23.2 0.0
Hard parses: 1.2 0.0
W/A MB processed: 1.0 0.0
Logons: 0.5 0.0
Executes: 15,756.5 2.0
Rollbacks: 0.0 0.0
Transactions: 7,855.1
Te hoki ki te mahi taiwhanga.
Ka rite taatau ki etahi atu mea, ka rereke nga uara o nga tawhā e whai ake nei o te papaapapa taiwhanga taiwhanga:
- Rahi o nga roopu rangitaki raraunga. awhe uara: [32, 1024] MB;
- Te maha o nga roopu hautaka kei roto i te putunga. awhe uara: [2,32];
log_archive_max_processes
awhe uara: [1,8];commit_logging
e rua nga uara ka whakaaetia:batch|immediate
;commit_wait
e rua nga uara ka whakaaetia:wait|nowait
;log_buffer
awhe uara: [2,128] MB.log_checkpoint_timeout
awhe uara: [60,1200] hēkonadb_writer_processes
awhe uara: [1,4]undo_retention
awhe uara: [30;300] hēkonatransactions_per_rollback_segment
awhe uara: [1,8]disk_asynch_io
e rua nga uara ka whakaaetia:true|false
;filesystemio_options
ka whakaaetia nga uara e whai ake nei:none|setall|directIO|asynch
;db_block_checking
ka whakaaetia nga uara e whai ake nei:OFF|LOW|MEDIUM|FULL
;db_block_checksum
ka whakaaetia nga uara e whai ake nei:OFF|TYPICAL|FULL
;
Ko te tangata whai wheako ki te pupuri i nga papaa raraunga Oracle ka taea e ia te kii he aha nga uara me whakarite, mai i nga tawhā kua tohua me o raatau uara e manakohia ana, kia nui ake ai te hua o te putunga raraunga mo te mahi me nga raraunga e tohuhia ana e te waehere tono, kei runga ake nei.
Engari.
Ko te kaupapa o te mahi taiwhanga ko te whakaatu ko te arotautanga algorithm ake ka whakamarama i tenei mo tatou.
Ki a matou, ko nga mea e toe ana ko te titiro ki roto i te tuhinga, na roto i te punaha whakarite, kia kitea he aha nga tawhā hei huri me nga awhe.
Ano hoki: tohuhia te waehere ka whakamahia hei mahi me te punaha ritenga o te algorithm arotautanga kua tohua.
Na, inaianei mo te waehere.
I korero ahau i runga ake nei cran-r
, ara: ko nga raweke katoa me te punaha kua whakaritea he mea whakarite ki te ahua o te tuhinga R.
Ko te tino mahi, te tātari, te kowhiringa ma te uara ine, nga vector state system: he kete tenei GA
(
Ko te kete, i tenei keehi, kaore i te tino pai, i runga i te whakaaro e kii ana nga vectors (chromosomes, mena kei te ahua o te kete) ka tohua ki te ahua o nga aho o nga tau me tetahi waahanga hautau.
Me taku vector, mai i nga uara o nga tawhā tautuhinga: he 14 nga rahinga - tauoti me nga uara aho.
Ko te raruraru, ko te tikanga, ka ngawari te karo ma te tautapa etahi tau motuhake ki nga uara aho.
No reira, i te mutunga, penei te ahua o te waahanga matua o te tuhinga R:
Karangatia GA::ga
cat( "", file=v_logfile, sep="n", append=F)
pSize = 10
elitism_value=1
pmutation_coef=0.8
pcrossover_coef=0.1
iterations=50
gam=GA::ga(type="real-valued", fitness=evaluate,
lower=c(32,2, 1,1,1,2,60,1,30,1,0,0, 0,0), upper=c(1024,32, 8,10,10,128,800,4,300,8,10,40, 40,30),
popSize=pSize,
pcrossover = pcrossover_coef,
pmutation = pmutation_coef,
maxiter=iterations,
run=4,
keepBest=T)
cat( "GA-session is done" , file=v_logfile, sep="n", append=T)
gam@solution
Anei, me te awhina lower
и upper
nga huanga iti ga
Ko te tikanga, kua tohua he waahi o te waahi rapu, kei roto ka mahia he rapunga mo taua vector (he vectors ranei) e whiwhi ai te uara teitei o te mahi whakapakari tinana.
Ko te ga subroutine e mahi ana i te rapu ki te whakanui i te mahi whakapakari tinana.
Na, ka puta mai, i tenei keehi, me whiwhi te mahi whakapakari tinana, ma te mohio ki te vector hei huinga uara mo etahi tawhā o te subd, ka whiwhi i te metric mai i te subd.
Arā: e hia, me te tatūnga subd kua hoatu me te kawenga i runga i te subd: ka whakahaerehia e te subd nga whakawhitinga mo ia hekona.
Arā, i te wa e tuwhera ana, me mahi nga mahi maha e whai ake nei i roto i te mahi whakapakari tinana:
- Te tukatuka i te vector urunga o nga tau - ka huri hei uara mo nga tawhā iti.
- He ngana ki te hanga i te maha o nga roopu mahi ano o te rahi. I tua atu, kaore pea i angitu te nganatanga.
Ko nga roopu moheni kua noho i roto i te subd, i etahi rahinga me etahi rahi, mo te ma o te whakamatautau - d.b. kua mukua. - Mena kua angitu te waahi o mua: te tohu i nga uara o nga tawhā whirihoranga ki te paataka raraunga (ano: tera pea he rahua)
- Mena ka angitu te taahiraa o mua: whakamutua te subd, timata te subd kia whai mana ai nga uara tawhā hou. (ano: tera pea he hapa)
- Mena kua angitu te taahiraa o mua: mahia he whakamatautau kawenga. tiki inenga mai i te subd.
- Whakahokia te subd ki tona ahua taketake, i.e. mukua etahi atu roopu rangitaki, whakahokia te whirihoranga papaungaroto taketake kia mahi.
Waehere mahi whakapakari tinana
evaluate=function(p_par) {
v_module="evaluate"
v_metric=0
opn=NULL
opn$rg_size=round(p_par[1],digit=0)
opn$rg_count=round(p_par[2],digit=0)
opn$log_archive_max_processes=round(p_par[3],digit=0)
opn$commit_logging="BATCH"
if ( round(p_par[4],digit=0) > 5 ) {
opn$commit_logging="IMMEDIATE"
}
opn$commit_logging=paste("'", opn$commit_logging, "'",sep="")
opn$commit_wait="WAIT"
if ( round(p_par[5],digit=0) > 5 ) {
opn$commit_wait="NOWAIT"
}
opn$commit_wait=paste("'", opn$commit_wait, "'",sep="")
opn$log_buffer=paste(round(p_par[6],digit=0),"m",sep="")
opn$log_checkpoint_timeout=round(p_par[7],digit=0)
opn$db_writer_processes=round(p_par[8],digit=0)
opn$undo_retention=round(p_par[9],digit=0)
opn$transactions_per_rollback_segment=round(p_par[10],digit=0)
opn$disk_asynch_io="true"
if ( round(p_par[11],digit=0) > 5 ) {
opn$disk_asynch_io="false"
}
opn$filesystemio_options="none"
if ( round(p_par[12],digit=0) > 10 && round(p_par[12],digit=0) <= 20 ) {
opn$filesystemio_options="setall"
}
if ( round(p_par[12],digit=0) > 20 && round(p_par[12],digit=0) <= 30 ) {
opn$filesystemio_options="directIO"
}
if ( round(p_par[12],digit=0) > 30 ) {
opn$filesystemio_options="asynch"
}
opn$db_block_checking="OFF"
if ( round(p_par[13],digit=0) > 10 && round(p_par[13],digit=0) <= 20 ) {
opn$db_block_checking="LOW"
}
if ( round(p_par[13],digit=0) > 20 && round(p_par[13],digit=0) <= 30 ) {
opn$db_block_checking="MEDIUM"
}
if ( round(p_par[13],digit=0) > 30 ) {
opn$db_block_checking="FULL"
}
opn$db_block_checksum="OFF"
if ( round(p_par[14],digit=0) > 10 && round(p_par[14],digit=0) <= 20 ) {
opn$db_block_checksum="TYPICAL"
}
if ( round(p_par[14],digit=0) > 20 ) {
opn$db_block_checksum="FULL"
}
v_vector=paste(round(p_par[1],digit=0),round(p_par[2],digit=0),round(p_par[3],digit=0),round(p_par[4],digit=0),round(p_par[5],digit=0),round(p_par[6],digit=0),round(p_par[7],digit=0),round(p_par[8],digit=0),round(p_par[9],digit=0),round(p_par[10],digit=0),round(p_par[11],digit=0),round(p_par[12],digit=0),round(p_par[13],digit=0),round(p_par[14],digit=0),sep=";")
cat( paste(v_module," try to evaluate vector: ", v_vector,sep="") , file=v_logfile, sep="n", append=T)
rc=make_additional_rgroups(opn)
if ( rc!=0 ) {
cat( paste(v_module,"make_additional_rgroups failed",sep="") , file=v_logfile, sep="n", append=T)
return (0)
}
v_rc=0
rc=set_db_parameter("log_archive_max_processes", opn$log_archive_max_processes)
if ( rc != 0 ) { v_rc=1 }
rc=set_db_parameter("commit_logging", opn$commit_logging )
if ( rc != 0 ) { v_rc=1 }
rc=set_db_parameter("commit_wait", opn$commit_wait )
if ( rc != 0 ) { v_rc=1 }
rc=set_db_parameter("log_buffer", opn$log_buffer )
if ( rc != 0 ) { v_rc=1 }
rc=set_db_parameter("log_checkpoint_timeout", opn$log_checkpoint_timeout )
if ( rc != 0 ) { v_rc=1 }
rc=set_db_parameter("db_writer_processes", opn$db_writer_processes )
if ( rc != 0 ) { v_rc=1 }
rc=set_db_parameter("undo_retention", opn$undo_retention )
if ( rc != 0 ) { v_rc=1 }
rc=set_db_parameter("transactions_per_rollback_segment", opn$transactions_per_rollback_segment )
if ( rc != 0 ) { v_rc=1 }
rc=set_db_parameter("disk_asynch_io", opn$disk_asynch_io )
if ( rc != 0 ) { v_rc=1 }
rc=set_db_parameter("filesystemio_options", opn$filesystemio_options )
if ( rc != 0 ) { v_rc=1 }
rc=set_db_parameter("db_block_checking", opn$db_block_checking )
if ( rc != 0 ) { v_rc=1 }
rc=set_db_parameter("db_block_checksum", opn$db_block_checksum )
if ( rc != 0 ) { v_rc=1 }
if ( rc!=0 ) {
cat( paste(v_module," can not startup db with that vector of settings",sep="") , file=v_logfile, sep="n", append=T)
rc=stop_db("immediate")
rc=create_spfile()
rc=start_db("")
rc=remove_additional_rgroups(opn)
return (0)
}
rc=stop_db("immediate")
rc=start_db("")
if ( rc!=0 ) {
cat( paste(v_module," can not startup db with that vector of settings",sep="") , file=v_logfile, sep="n", append=T)
rc=stop_db("abort")
rc=create_spfile()
rc=start_db("")
rc=remove_additional_rgroups(opn)
return (0)
}
rc=run_test()
v_metric=getmetric()
rc=stop_db("immediate")
rc=create_spfile()
rc=start_db("")
rc=remove_additional_rgroups(opn)
cat( paste("result: ",v_metric," ",v_vector,sep="") , file=v_logfile, sep="n", append=T)
return (v_metric)
}
Ko tera. mahi katoa: mahia i roto i te mahi whakapakari tinana.
Ko te ga-subroutine ka mahi vectors, he tika ake ranei, nga chromosomes.
Ko te mea nui ki a tatou ko te kowhiringa o nga chromosomes me nga ira e hua ai nga uara nui o te mahi whakapakari tinana.
Ko tenei, ko te tikanga, ko te mahi rapu mo te huinga tino pai o nga chromosomes ma te whakamahi i te vector i roto i te waahi rapunga-N.
He tino marama, he taipitopito
E hiahia ana ahau ki te tuhi motuhake i nga waahanga hangarau e rua.
Nga waea awhina mai i te mahi evaluate
, hei tauira, mutu-tīmatanga, te whakarite i te uara o te tawhā subd, ka mahia i runga i cran-r
mahi system2
Ma te awhina: ka karangahia etahi tuhinga bash, whakahau ranei.
Hei tauira:
huinga_db_parameter
set_db_parameter=function(p1, p2) {
v_module="set_db_parameter"
v_cmd="/home/oracle/testingredotracе/set_db_parameter.sh"
v_args=paste(p1," ",p2,sep="")
x=system2(v_cmd, args=v_args, stdout=T, stderr=T, wait=T)
if ( length(attributes(x)) > 0 ) {
cat(paste(v_module," failed with: ",attributes(x)$status," ",v_cmd," ",v_args,sep=""), file=v_logfile, sep="n", append=T)
return (attributes(x)$status)
}
else {
cat(paste(v_module," ok: ",v_cmd," ",v_args,sep=""), file=v_logfile, sep="n", append=T)
return (0)
}
}
Ko te tohu tuarua ko te raina, evaluate
nga mahi, me te penapena i tetahi uara inenga motuhake me tana vector whakangao ki te konae rangitaki:
cat( paste("result: ",v_metric," ",v_vector,sep="") , file=v_logfile, sep="n", append=T)
He mea nui tenei, na te mea mai i tenei rarangi raraunga, ka taea te tiki korero taapiri mo tehea o nga waahanga o te kaitao whakaata he nui ake, iti ake ranei te paanga ki te uara ine.
Arā: ka taea te whakahaere i te tātari huanga-importamce.
Na he aha te mea ka tupu?
I roto i te ahua kauwhata, mena ka ota koe i nga whakamatautau i runga i te raupapa inenga piki, ka penei te pikitia:
Ko etahi raraunga e pa ana ki nga uara tino nui o te ine:
I konei, i roto i te whakaahua me nga hua, ka whakamaramatia e au: ko nga uara o te tohu tohu ka tukuna i runga i nga tikanga o te waehere mahi tinana, kaua ki te rarangi nama o nga tawhā/awhe o nga uara tawhā, i hangaia. i runga i te tuhinga.
Kaati. He nui, he iti ranei, ~8 mano tps: he patai motuhake.
I roto i te anga o te mahi taiwhanga, ehara tenei whika i te mea nui, ko te mea nui ko te hihiri, me pehea te whakarereketanga o tenei uara.
He pai nga hihiri o konei.
E kitea ana ko tetahi take e awe nui ana i te uara o te ine, te ga-algorithm, e tohatoha ana i roto i nga vectors chromosome: kapi.
Ki te whakatau i te kaha kaha o nga uara pihinga, kotahi ake pea te mea, ahakoa he iti ake, ka whai mana.
Koinei te waahi e hiahia ana koe attribute-importance
he tātaritanga kia mohio ai he aha nga huanga (he pai, i tenei keehi, nga waahanga o te vector whakarangi) me te nui o te awe i te uara ine.
A mai i enei korero: kia mohio he aha nga mea i pa ki nga huringa o nga huanga nui.
Whakahaere attribute-importance
ka taea i roto i nga huarahi rereke.
Mo enei kaupapa, he pai ki ahau te algorithm randomForest
R mōkihi he ōrite te ingoa (
randomForest
, i te mea e mohio ana ahau ki tana mahi i te nuinga o te waa me tana huarahi ki te aromatawai i te hiranga o nga huanga otira, ka hangaia he tauira mo te whakawhirinaki o te taurangi whakautu ki nga huanga.
I roto i ta maatau, ko te taurangi whakautu he ine i whiwhi mai i te papaaarangi i roto i nga whakamatautau uta: tps
;
A ko nga huanga he waahanga o te vector oro.
Na konei randomForest
ka arotake i te hiranga o ia huanga tauira me nga tau e rua: %IncMSE
— me pehea te noho/kore o tenei huanga i roto i tetahi tauira ka huri i te kounga MSE o tenei tauira (Mean Squared Error);
A ko te IncNodePurity he tau e whakaatu ana i te pai, i runga i nga uara o tenei huanga, ka taea te wehewehe i tetahi huingararaunga me nga tirohanga, na i tetahi waahanga he raraunga me tetahi uara o te ine kua whakamaramatia, i tetahi atu me te tetahi atu uara o te ine.
Ae, ara: he aha te whānuitanga o tenei huanga whakarōpūtanga (i kite ahau i te whakamarama tino marama, reo-Rusia i runga i te RandomForest
Kaimahi-kaiahuwhenua R-waehere mo te tukatuka i te huingararaunga me nga hua o nga whakamatautau kawenga:
x=NULL
v_data_file=paste('/tmp/data1.dat',sep="")
x=read.table(v_data_file, header = TRUE, sep = ";", dec=",", quote = ""'", stringsAsFactors=FALSE)
colnames(x)=c('metric','rgsize','rgcount','lamp','cmtl','cmtw','lgbffr','lct','dbwrp','undo_retention','tprs','disk_async_io','filesystemio_options','db_block_checking','db_block_checksum')
idxTrain=sample(nrow(x),as.integer(nrow(x)*0.7))
idxNotTrain=which(! 1:nrow(x) %in% idxTrain )
TrainDS=x[idxTrain,]
ValidateDS=x[idxNotTrain,]
library(randomForest)
#mtry=as.integer( sqrt(dim(x)[2]-1) )
rf=randomForest(metric ~ ., data=TrainDS, ntree=40, mtry=3, replace=T, nodesize=2, importance=T, do.trace=10, localImp=F)
ValidateDS$predicted=predict(rf, newdata=ValidateDS[,colnames(ValidateDS)!="metric"], type="response")
sum((ValidateDS$metric-ValidateDS$predicted)^2)
rf$importance
Ka taea e koe te kowhiri tika i nga taapiri o te algorithm me o ringaringa, me te aro ki te kounga o te tauira, kowhiria he tauira e tutuki tika ai nga matapae i runga i te huinga raraunga whakamana.
Ka taea e koe te tuhi i etahi momo mahi mo tenei mahi (ma te ara, ano, ma te whakamahi i etahi momo algorithm arotautanga).
Ka taea e koe te whakamahi i te putea R caret
, ehara i te mea nui te kaupapa.
Ko te mutunga, i tenei keehi, ko nga hua e whai ake nei ka puta hei aromatawai i te taumata o te hiranga o nga huanga:
Kaati. Na, ka taea e tatou te timata ki te whakaaro huritao:
- Ka puta ko te mea tino nui, i raro i enei tikanga whakamatautau, ko te tawhā
commit_wait
Ma te hangarau, ka tohuhia te aratau mahi o te mahi io o te tuhi korero ano mai i te papaarangi rangitaki subdb ki te roopu rangitaki o naianei: tukutahi, tukutahi ranei.
uaranowait
e hua ana i te tata poutū, te pikinga maha o te uara o te inenga tps: koinei te whakaurunga o te aratau io asynchronous ki nga roopu mahi ano.
He patai motuhake mehemea me mahi koe i tenei i roto i te putunga kai. I konei ka whakawhäitihia ahau ki te kii noa: he take nui tenei. - He mea arorau ko te rahi o te papaa pororakau o te subd: ka puta he take nui.
Ko te iti ake o te rahi o te poroporo poroporoaki, ko te iti ake o te kaha o te paanui, ko te nuinga o te wa e puhake ana, me te kore ranei e taea te toha i tetahi waahi koreutu ki roto mo tetahi waahanga o nga raraunga redox hou.
Ko te tikanga: ko nga whakaroa e pa ana ki te toha mokowā i roto i te papaa pororakau me te tuku ano i nga raraunga mai i a ia ki nga roopu mahi ano.
Ko enei whakaroa, ko te tikanga, me pa ki te urunga o te paataka mo nga whakawhitinga. - Taumahi
db_block_checksum
: pai, ano hoki, i te nuinga o te waa he maamaa - ko te tukatuka tauwhitinga ka arahi ki te hanganga o nga poraka darty i roto i te keteroki putunga o te papaapapa.
Ina, ka whakahohea te arowhai o nga parakararaungaraunga, me whakahaere e te papaarangi raraunga - tatauhia enei arowhai mai i te tinana o te parapara raraunga, tirohia me nga mea kua tuhia ki te pane parapara raraunga: he rite/karekau e rite.
Ko nga mahi penei, kaore e taea te whakaroa i te tukatuka raraunga, na reira, ko te tawhā me te tikanga e whakatakoto ana i tenei tawhā ka puta he mea nui.
Koinei te take ka tukuna e te kaihoko, i roto i nga tuhinga mo tenei tawhā, nga uara rereke me nga tuhipoka e ae, ka puta he paanga, engari ka taea e koe te whiriwhiri i nga uara rereke, ahakoa "atu" me nga paanga rereke.
Ana, he whakatau o te ao.
Ko te huarahi, i te nuinga o te waa, ka puta he tino mahi.
Ka taea e ia, i te timatanga o te whakamatautau kawenga o tetahi punaha ratonga, ki te whiriwhiri i tana (pūnaha) whirihoranga tino pai mo te kawenga, kia kaua e uru ki roto i nga korero mo te whakarite i te punaha mo te kawenga.
Engari kaore e tino whakakorehia - i te iti rawa i te taumata o te maarama: me mohio te punaha mo nga "whakatikatika" me nga awhe e whakaaetia ana mo te hurihanga o enei puku.
Ka taea e te huarahi te kimi tere i te whirihoranga punaha tino pai.
Na i runga i nga hua o te whakamatautau, ka taea te tiki korero mo te ahuatanga o te hononga i waenga i nga inenga mahi a te punaha me nga uara o nga tawhā tautuhinga punaha.
Ko te tikanga, me whai waahi ki te puta mai o tenei maaramatanga hohonu o te punaha, tana mahi, i te iti rawa i raro i tetahi kawenga.
I roto i te mahi, he utu tenei mo te mohio ki te punaha kua whakaritea mo nga utu mo te whakarite i nga whakamatautau o te punaha.
E hiahia ana ahau ki te tuhi motuhake: i roto i tenei huarahi, he mea tino nui te tohu o te tika o te whakamatautau i nga punaha ki nga tikanga whakahaere i roto i nga mahi arumoni.
Mauruuru koe mo to aro me to wa.
Source: will.com