Għaliex app SQL li titkellem ħafna tkaxkar fuq VPN u x'għandek tħejji fi gruppi
Skrin li jniedi mitt mistoqsija dipendenti jħallas il-vjaġġ lura u r-ritorn mitt darba. Għodd l-istennejja, iġbor fi gruppi dawk indipendenti, imbagħad iċċaqlaq l-eżekuzzjoni.
Formola li tiftaħ fi anqas minn sekonda fuq netwerk lokali tieħu ħames sekondi fuq VPN, filwaqt li kopja ta' fajl fuq l-istess konnessjoni tgħaddi bil-veloċità kollha. Id-differenza mhix il-wisa' tal-banda. Il-formola tistenna sensiela ta' tweġibiet u tħallas il-vjaġġ sħiħ f'kull pass, filwaqt li l-kopja tal-fajl iżżomm il-bytes dejjem miexja. Għodd dawk l-istennejja qabel ma tmiss il-linja tal-aċċess.
Is-sintomu huwa skrin, mhux mistoqsija
Kull mistoqsija fuq dak l-iskrin tista' tkun mgħaġġla u l-iskrin xorta jista' jkun bil-mod, għax it-total huwa s-somma tal-istennejja u mhux is-somma tal-ħinijiet tal-eżekuzzjoni. Dikjarazzjoni li taħdem f'żewġ millisekondi xorta tiswa vjaġġ sħiħ meta l-klijent irid jirċievi r-riżultat qabel ma jibgħat l-ieħor. Fuq triq b'dewmien ta' erbgħin millisekonda, mitt sejħa dipendenti jinġemgħu madwar erba' sekondi qabel ma jsir xi xogħol ta' tpittir. Din l-aritmetika hija mudell tal-istennija, mhux kejl tal-konnessjoni tiegħek.
Għalhekk it-test tal-veloċità jidher innoċenti. Trasferiment kbir ikejjel il-mediċina, formola li titkellem ħafna tkejjel id-dewmien, u VPN tista' tkun eċċellenti f'waħda u tibqa' ordinarja fl-oħra. Għalhekk id-dijanjosi tal-iskrin tfisser li tkejjel l-iskrin u mhux il-konnessjoni.
Irreġistra l-ħin minn tarf sa tarf ta' azzjoni waħda tal-utent qabel ma tibdel xejn. Dik iċ-ċifra hija l-unika bażi li tista' tgħidlek jekk tiswija aktar tard ħadmitx.
Għodd l-istennejja sekwenzjali f'azzjoni waħda tal-utent
Instrumenta l-klijent minflok ma taqta' bl-addoċċ. Fil-psql, \timing on jistampa l-ħin li għadda ta' kull dikjarazzjoni, u EXPLAIN (ANALYZE, BUFFERS) juri kemm minn dak il-ħin is-server fil-fatt nefaq fuq ix-xogħol.
Id-distakk bejn dawn iż-żewġ ċifri huwa l-ispiża tan-netwerk u tal-klijent tiegħek. Jekk dikjarazzjoni teżegwixxi f'żewġ millisekondi u l-klijent jirreġistra sittin, il-bqija ta' tmienja u ħamsin huma vjaġġ u pproċessar lokali, u l-ebda indiċi mhu se jneħħihom. Errepeti dan it-tqabbil għal kull dikjarazzjoni li joħroġ l-iskrin u għodd id-distakki minflok il-ħinijiet tal-eżekuzzjoni.
Ikteb ir-riżultat bħala għadd ta' istennejja sekwenzjali. Dik hija l-kwantità li ż-żewġ taqsimiet li jmiss jistgħu jnaqqsu, u hija ċifra li tista' tiddiskuti dwarha b'evidenza.
Iġbor fi gruppi s-sejħiet indipendenti, żomm dawk dipendenti
Żewġ dikjarazzjonijiet li ma jaqrawx ir-riżultat ta' xulxin jistgħu jivvjaġġaw flimkien u jinġabru darba, li jbiddel żewġ istennejja f'waħda. Żewġ dikjarazzjonijiet fejn it-tieni għandu bżonn il-valur tal-ewwel ma jistgħux, għax id-dipendenza hija reali u l-grupp jibdel dak li jagħmel il-programm. Issortja s-sejħiet f'dawn iż-żewġ borġ qabel ma tikteb mill-ġdid xejn, u d-daqs ta' kull borġ jgħidlek x'inhu possibbli.
Ix-xogħol ibbażat fuq settijiet ineħħi l-istennejja aktar bir-reqqa mill-gruppi. Mistoqsija waħda li tirritorna l-fillieri li ċ-ċiklu kien jiġbor wieħed wieħed telimina ċ-ċiklu kif ukoll il-vjaġġi. Fittex iċ-ċiklu l-ewwel, għax ġeneralment huwa l-akbar gwadann u l-bidla l-aktar faċli biex tirrevediha.
Grupp xorta irid iżomm l-immaniġġjar tal-iżbalji u l-konfini tat-transazzjonijiet. Li tgħaqqad dikjarazzjonijiet mhux relatati fi korda waħda mhix ottimizzazzjoni sikura, u grupp li jaħbi dikjarazzjoni li falliet wara sottomissjoni b'suċċess huwa agħar mill-istennejja li ffranka.
Uża l-konnessjonijiet mill-ġdid qabel tixtri l-wisa' tal-banda
Konnessjoni ġdida tiswa riżoluzzjoni tal-isem, handshake TCP, negozjati TLS u awtentikazzjoni, u fuq triq b'dewmien għoli kull waħda minnhom hija vjaġġ ieħor qabel ma taħdem l-ewwel mistoqsija. Il-pools tal-konnessjonijiet jeżistu biex dik l-ispiża titħallas darba għal kull proċess u mhux darba għal kull sejħa.
F'ADO.NET, l-għeluq jew id-dispose ta' konnessjoni fil-pool jirritornaha għall-użu mill-ġdid minflok ma jiftaħ oħra fiżika, għalhekk il-mudell li jidher bħal tnixxija ħafna drabi huwa l-użu korrett. Ivverifika li l-pool qed jintuża tassew u tiddeċidix b'assunzjoni: illogja l-ħolqien ta' konnessjonijiet fiżiċi, jew osserva l-għadd ta' sessjonijiet fuq is-server waqt li jkun qed jaħdem l-iskrin. Il-gwida tal-prestazzjoni SQL tgħid l-istess ħaġa dwar it-tnaqqis tal-vjaġġi u l-grupp ta' sejħiet ad hoc frekwenti, b'eżempji speċifiċi għas-servizz li għandek timmappja fuq l-iskjerament tiegħek.
Il-pooling ineħħi l-ispiża tas-setup u jħalli l-istennejja tal-mistoqsijiet sekwenzjali ma jintmessux. Hija prekundizzjoni għal kejl nadif u mhux tiswija waħedha.
Iżen it-tmexxija tal-eżekuzzjoni eqreb lejn id-data
Li tmexxi l-app qrib id-database jissostitwixxi ħafna skambji remoti mad-database b'sessjoni waħda ta' wiri remot. Għal tagħbija li titkellem ħafna dan jista' jkun tibdil kbir, u huwa tibdil operattiv daqs kemm hu tibdil fil-prestazzjoni: il-ġestjoni tas-sessjonijiet, il-kontroll tal-aċċess, l-iskjerament tas-software u l-esperjenza tal-utent kollha jimxu mal-app.
Kejjel l-interface attwali u d-data li tittrasferixxi qabel ma tassumi li xi direzzjoni hija aktar mgħaġġla. Sessjoni ta' desktop remot iċċaqlaq pixels, u skrin b'grafika densa jista' jkun agħar fuq l-istess triq mill-mistoqsijiet li ssostitwixxa, speċjalment meta l-klijent jerġa' jpinġi kontinwament.
Imbagħad erġa' agħmel l-azzjoni oriġinali u qabbel tliet ċifri: istennejja sekwenzjali, il-volum tar-riżultat u l-ħin tat-tlestija mit-tarf sat-tarf. Titjib li jbiddel il-kompitu tal-utent imkejjel filwaqt li jżomm il-korrettezza tad-data u l-politika tal-aċċess huwa dak li jistħoqqlu jinżamm.