Web performance
વેબ પ્રદર્શન એ ઝડપનો ઉલ્લેખ કરે છે જેમાં વેબ પૃષ્ઠો ડાઉનલોડ કરવામાં આવે છે અને વપરાશકર્તાના વેબ બ્રાઉઝર પર પ્રદર્શિત થાય છે. વેબ પ્રદર્શન ઓપ્ટિમાઇઝેશન (ડબલ્યુપીઓ), અથવા વેબસાઇટ ઓપ્ટિમાઇઝેશન એ વેબ પ્રદર્શન વધારવા વિશે જ્ઞાનનું ક્ષેત્ર છે. ઝડપી વેબસાઇટ ડાઉનલોડ ઝડપ મુલાકાતીની જાળવણી અને વફાદારી અને વપરાશકર્તા સંતોષમાં વધારો દર્શાવે છે, ખાસ કરીને ધીમા ઇન્ટરનેટ જોડાણો ધરાવતા અને મોબાઇલ ઉપકરણો પરના વપરાશકર્તાઓ માટે. વેબ પ્રદર્શન પણ વેબ પર મુસાફરી કરતા ઓછા ડેટા તરફ દોરી જાય છે, જે બદલામાં વેબસાઇટના વીજ વપરાશ અને પર્યાવરણીય અસરને ઘટાડે છે. પૃષ્ઠ લોડની ઝડપને અસર કરી શકે તેવા કેટલાક પાસાઓમાં બ્રાઉઝર/સર્વર કેશ, ઇમેજ ઓપ્ટિમાઇઝેશન અને એન્ક્રિપ્શન (ઉદાહરણ તરીકે એસ. એસ. એલ.) નો સમાવેશ થાય છે, જે પૃષ્ઠોને રેન્ડર કરવામાં લાગતા સમયને અસર કરી શકે છે. બહુસ્તરીય કેશ, પ્રસ્તુતિ સ્તર ઘટકોની હળવા વજનની રચના અને સર્વર બાજુના ઘટકો સાથે અસુમેળ સંચાર જેવી તકનીકો દ્વારા વેબ પૃષ્ઠની કામગીરીમાં સુધારો કરી શકાય છે. વેબ અસ્તિત્વના પ્રથમ દાયકામાં, વેબ પ્રદર્શનમાં સુધારો મુખ્યત્વે વેબસાઇટ કોડને શ્રેષ્ઠ બનાવવા અને હાર્ડવેર મર્યાદાઓને આગળ વધારવા પર કેન્દ્રિત હતો. પેટ્રિક કિલ્લેલિયાના 2002ના પુસ્તક વેબ પરફોર્મન્સ ટ્યુનિંગ અનુસાર, ઉપયોગમાં લેવાતી કેટલીક પ્રારંભિક તકનીકોમાં સરળ સર્વલેટ્સ અથવા સી. જી. આઈ. નો ઉપયોગ કરવો, સર્વરની યાદશક્તિ વધારવી અને પેકેટની ખોટ અને પુનઃપ્રસારણની શોધ કરવી સામેલ હતી. જો કે આ સિદ્ધાંતો હવે ઇન્ટરનેટ એપ્લિકેશન્સના મોટાભાગના ઓપ્ટિમાઇઝ્ડ પાયાનો સમાવેશ કરે છે, તેમ છતાં તે વર્તમાન ઓપ્ટિમાઇઝેશન સિદ્ધાંતથી અલગ છે કારણ કે બ્રાઉઝર ડિસ્પ્લે સ્પીડમાં સુધારો કરવાનો પ્રયાસ ઘણો ઓછો હતો. સ્ટીવ સાઉડર્સે 2004માં "વેબ પરફોર્મન્સ ઓપ્ટિમાઇઝેશન" શબ્દ બનાવ્યો હતો. તે સમયે સાઉડર્સે "ઉભરતા ઉદ્યોગ" તરીકે ડબલ્યુપીઓ વેબ પર જે અસર લાવશે તે અંગે ઘણી આગાહીઓ કરી હતી, જેમ કે વેબસાઇટ્સ મૂળભૂત રીતે ઝડપી હોવી, એકત્રીકરણ, પ્રદર્શન માટે વેબ ધોરણો, ઓપ્ટિમાઇઝેશનની પર્યાવરણીય અસરો અને તફાવતકર્તા તરીકે ઝડપ. 2007માં સાઉડર્સે એક મુખ્ય મુદ્દો ઉઠાવ્યો હતો કે વેબસાઇટ ડાઉનલોડ કરવા અને જોવા માટેનો ઓછામાં ઓછો 80 ટકા સમય ફ્રન્ટ-એન્ડ માળખા દ્વારા નિયંત્રિત થાય છે. આ વિલંબનો સમય સામાન્ય બ્રાઉઝર વર્તણૂકની જાગૃતિ દ્વારા તેમજ HTTP કેવી રીતે કાર્ય કરે છે તેના દ્વારા ઘટાડી શકાય છે. ઓપ્ટિમાઇઝેશન તકનીકો વેબ પ્રદર્શન ઓપ્ટિમાઇઝેશન વેબસાઇટની મુલાકાત લેતી વખતે વપરાશકર્તા અનુભવ (યુએક્સ) માં સુધારો કરે છે અને તેથી વેબ ડિઝાઇનર્સ અને વેબ ડેવલપર્સ દ્વારા ખૂબ જ ઇચ્છિત છે. તેઓ ઘણી તકનીકોનો ઉપયોગ કરે છે જે વેબ પેજ લોડ સમય ઘટાડવા માટે વેબ ઓપ્ટિમાઇઝેશન કાર્યોને સુવ્યવસ્થિત કરે છે. આ પ્રક્રિયાને ફ્રન્ટ એન્ડ ઓપ્ટિમાઇઝેશન (FEO) અથવા કન્ટેન્ટ ઓપ્ટિમાઇઝેશન તરીકે ઓળખવામાં આવે છે. FEO ફાઇલના કદને ઘટાડવા અને "આપેલ પૃષ્ઠને લોડ કરવા માટે જરૂરી વિનંતીઓની સંખ્યાને ઘટાડવા" પર ધ્યાન કેન્દ્રિત કરે છે. નીચે સૂચિબદ્ધ તકનીકો ઉપરાંત, સામગ્રી વિતરણ નેટવર્કનો ઉપયોગ-વિશ્વભરના વિવિધ સ્થળોએ ફેલાયેલ પ્રોક્સી સર્વર્સનું જૂથ-એક કાર્યક્ષમ વિતરણ પ્રણાલી છે જે નેટવર્ક નિકટતાના આધારે ચોક્કસ વપરાશકર્તા માટે સર્વર પસંદ કરે છે. સામાન્ય રીતે સૌથી ઝડપી પ્રતિસાદ સમય સાથે સર્વર પસંદ કરવામાં આવે છે. નીચેની તકનીકો સામાન્ય રીતે વેબ ઓપ્ટિમાઇઝેશન કાર્યો માટે વપરાય છે અને વેબ વિકાસકર્તાઓ દ્વારા વ્યાપકપણે ઉપયોગમાં લેવાય છેઃ વેબ બ્રાઉઝર્સ વેબ પૃષ્ઠ ડાઉનલોડ કરતી વખતે સબમિટ કરેલા દરેક હાયપરટેક્સ્ટ ટ્રાન્સફર પ્રોટોકોલ (HTTP) વિનંતી માટે અલગ ટ્રાન્સમિશન કંટ્રોલ પ્રોટોકોલ (TCP) જોડાણો ખોલે છે. આ વિનંતીઓ ડાઉનલોડ કરવા માટે જરૂરી પૃષ્ઠ ઘટકોની કુલ સંખ્યા છે. જો કે, બ્રાઉઝર એક જ યજમાન સાથે માત્ર ચોક્કસ સંખ્યામાં એક સાથે જોડાણો ખોલવા સુધી મર્યાદિત છે. અવરોધોને રોકવા માટે, વ્યક્તિગત પૃષ્ઠ ઘટકોની સંખ્યા સંસાધન એકત્રીકરણનો ઉપયોગ કરીને ઘટાડવામાં આવે છે જેમાં નાની ફાઇલો (જેમ કે છબીઓ) એક ફાઇલમાં એકસાથે જોડવામાં આવે છે. આ HTTP વિનંતીઓ અને વેબ પૃષ્ઠને લોડ કરવા માટે જરૂરી "રાઉન્ડ ટ્રિપ્સ" ની સંખ્યાને ઘટાડે છે. વેબ પૃષ્ઠો જાવાસ્ક્રિપ્ટ અને હાયપરટેક્સ્ટ માર્કઅપ લેંગ્વેજ (એચટીએમએલ) જેવી કોડ ફાઇલોમાંથી બનાવવામાં આવે છે. જેમ જેમ વેબ પૃષ્ઠો જટિલતામાં વૃદ્ધિ કરે છે, તેમ તેમ તેમની કોડ ફાઇલો અને ત્યારબાદ તેમના લોડનો સમય પણ વધે છે. ફાઇલ સંકોચન કોડ ફાઇલોને 80 ટકા જેટલું ઘટાડી શકે છે, જેનાથી સાઇટ પ્રતિભાવમાં સુધારો થાય છે. વેબ કેશીંગ ઓપ્ટિમાઇઝેશન સર્વર લોડ, બેન્ડવિડ્થ વપરાશ અને વિલંબ ઘટાડે છે. સીડીએન તેમની સિસ્ટમમાંથી પસાર થતા દસ્તાવેજોની નકલો સંગ્રહિત કરવા માટે સમર્પિત વેબ કેશીંગ સોફ્ટવેરનો ઉપયોગ કરે છે. જો અમુક શરતો લાગુ પડે તો કેશમાંથી અનુગામી વિનંતીઓ પૂર્ણ થઈ શકે છે. વેબ કેશ સીડીએનની ક્લાયન્ટ બાજુ (આગળની સ્થિતિ) અથવા વેબ-સર્વર બાજુ (વિપરીત સ્થિતિ) પર સ્થિત હોય છે. વેબ બ્રાઉઝર્સ HTTP કેશ અથવા વેબ કેશ દ્વારા ફરીથી ઉપયોગ માટે સામગ્રી સંગ્રહિત કરવામાં પણ સક્ષમ છે. વેબ બ્રાઉઝર્સ દ્વારા કરવામાં આવતી વિનંતીઓને સામાન્ય રીતે HTTP કેશ પર મોકલવામાં આવે છે જેથી તે ચકાસી શકાય કે કેશ કરેલા પ્રતિસાદનો ઉપયોગ વિનંતીને પૂર્ણ કરવા માટે થઈ શકે છે કે કેમ. જો આવી મેચ કરવામાં આવે, તો કેશમાંથી પ્રતિસાદ પૂર્ણ થાય છે. આ નેટવર્ક વિલંબતા અને ડેટા-ટ્રાન્સફર સાથે સંકળાયેલા ખર્ચને ઘટાડવા માટે મદદરૂપ થઈ શકે છે. HTTP કેશ વિનંતી અને પ્રતિસાદ હેડરનો ઉપયોગ કરીને ગોઠવવામાં આવે છે. કોડ મિનિફિકેશન વેબ ડેવલપર્સ દ્વારા લખાયેલા કોડ અને નેટવર્ક તત્વો કોડનું અર્થઘટન કેવી રીતે કરે છે તે વચ્ચેની વિસંગતતાઓને અલગ પાડે છે. મિનિફિકેશન ટિપ્પણીઓ અને વધારાની જગ્યાઓ દૂર કરે છે તેમજ કોડને ઓછો કરવા માટે ચલ નામોને ક્રંચ કરે છે, ફાઇલોનું કદ 60 ટકા જેટલું ઘટાડે છે. કેશીંગ અને કમ્પ્રેશન ઉપરાંત, લોસી કમ્પ્રેશન તકનીકો (ઓડિયો ફાઇલો સાથે ઉપયોગમાં લેવાતી સમાન) બિન-આવશ્યક હેડર માહિતીને દૂર કરે છે અને ઘણી ઉચ્ચ રીઝોલ્યુશન છબીઓ પર મૂળ છબીની ગુણવત્તાને ઓછી કરે છે. આ ફેરફારો, જેમ કે પિક્સેલ જટિલતા અથવા રંગ ક્રમ, અંતિમ વપરાશકર્તા માટે પારદર્શક હોય છે અને છબીની ધારણાને નોંધપાત્ર રીતે અસર કરતા નથી. બીજી તકનીક રેસ્ટર ગ્રાફિક્સને રિઝોલ્યુશન-સ્વતંત્ર વેક્ટર ગ્રાફિક્સ સાથે બદલવાની છે. વેક્ટર અવેજી સરળ ભૌમિતિક છબીઓ માટે શ્રેષ્ઠ અનુકૂળ છે. છબીઓ અને વિડિયોને આળસુ રીતે લોડ કરવાથી પ્રારંભિક પૃષ્ઠ લોડ સમય, પ્રારંભિક પૃષ્ઠ વજન અને સિસ્ટમ સંસાધનનો ઉપયોગ ઘટે છે, જે તમામ વેબસાઇટની કામગીરી પર હકારાત્મક અસર કરે છે. તેનો ઉપયોગ ઑબ્જેક્ટની શરૂઆતને જ્યાં સુધી તેની જરૂર ન હોય ત્યાં સુધી વિલંબિત કરવા માટે થાય છે. બ્રાઉઝર જ્યારે જરૂર પડે ત્યારે પૃષ્ઠ અથવા પોસ્ટમાં છબીઓને લોડ કરે છે જેમ કે જ્યારે વપરાશકર્તા પૃષ્ઠને નીચે સ્ક્રોલ કરે છે અને એક જ સમયે બધી છબીઓ નહીં, જે મૂળભૂત વર્તન છે, અને સ્વાભાવિક રીતે, વધુ સમય લે છે. HTTP/1. x અને HTTP/2 વેબ બ્રાઉઝર્સ સમાંતર વપરાશકર્તા વિનંતીઓ માટે બહુવિધ TCP જોડાણોનો ઉપયોગ કરે છે, તેથી નેટવર્ક સંસાધનોનું ભીડ અને બ્રાઉઝર એકાધિકાર થઈ શકે છે. કારણ કે HTTP/1 વિનંતીઓ સંકળાયેલ ઓવરહેડ સાથે આવે છે, વેબ પ્રદર્શન મર્યાદિત બેન્ડવિડ્થ અને વધેલા ઉપયોગ દ્વારા પ્રભાવિત થાય છે. HTTP/1 ની સરખામણીમાં, HTTP/2 એ લખાણને બદલે દ્વિસંગી છે જે આદેશિત અને અવરોધિત કરવાને બદલે સંપૂર્ણપણે મલ્ટિપ્લેક્સ્ડ છે તેથી સમાંતરતા માટે એક જોડાણનો ઉપયોગ કરી શકે છે હેડર સંકોચનનો ઉપયોગ કરીને ઓવરહેડ ઘટાડવા માટે સર્વરને ક્લાયન્ટ કેશમાં સક્રિય રીતે પ્રતિસાદો "દબાણ" કરવાની મંજૂરી આપે છે વેબસાઇટના હોસ્ટિંગ સર્વરને બદલે, CDN નો ઉપયોગ HTTP/2 સાથે કરવામાં આવે છે જેથી અંતિમ વપરાશકર્તાને છબીઓ, જાવાસ્ક્રિપ્ટ ફાઇલો અને કાસ્કેડિંગ સ્ટાઇલ શીટ (CSS) ફાઇલો જેવા વેબ સંસાધનો સાથે વધુ સારી રીતે સેવા આપી શકાય કારણ કે CDNનું સ્થાન સામાન્ય રીતે અંતિમ વપરાશકર્તાની નજીક હોય છે. મેટ્રિક્સ તાજેતરના વર્ષોમાં, કેટલાક મેટ્રિક્સ રજૂ કરવામાં આવ્યા છે જે વિકાસકર્તાઓને તેમની વેબસાઇટ્સના પ્રદર્શનના વિવિધ પાસાઓને માપવામાં મદદ કરે છે. વર્ષ 2019માં ગૂગલે 'ટાઇમ ટુ ફર્સ્ટ બાઈટ "(TTFB),' ફર્સ્ટ કન્ટેન્ટફુલ પેઈન્ટ" (FCP), 'ફર્સ્ટ પેઈન્ટ "(FP),' ફર્સ્ટ ઇનપુટ ડિલે" (FID), 'ક્યુમુલેટિવ લેઆઉટ શિફ્ટ "(CLS) અને' લાર્જેસ્ટ કન્ટેન્ટફુલ પેઈન્ટ" (LLCP) જેવા મેટ્રિક્સ રજૂ કર્યા હતા, જે વેબસાઇટના માલિકને તેમની વેબસાઇટ્સના પ્રદર્શનને નુકસાન પહોંચાડી શકે તેવા મુદ્દાઓની સમજ મેળવવાની મંજૂરી આપે છે, જેનાથી તે વપરાશકર્તાને સુસ્ત અથવા ધીમું લાગે છે. ઓનલોડ ટાઈમ, કનેક્શન ટાઈમ, ટોટલ પેજ સાઈઝ સહિતના અન્ય મેટ્રિક્સ નેટવર્કિંગ સ્તરે થતા વિલંબ અને મંદીનું સચોટ ચિત્ર પ્રદાન કરવામાં મદદ કરે છે જે સાઇટને ધીમું કરી શકે છે. મેટ્રિક્સને માપવા માટેના મોડ્યુલો જેમ કે ટી. ટી. એફ. બી., એફ. સી. પી., એલ. સી. પી., એફ. પી. વગેરે મુખ્ય ફ્રન્ટએન્ડ જાવાસ્ક્રિપ્ટ લાઈબ્રેરીઓ જેમ કે રિએક્ટ, નુક્સ્ટજેએસ અને વ્યુ સાથે પ્રદાન કરવામાં આવે છે. ગૂગલ એક લાઇબ્રેરી પ્રકાશિત કરે છે, કોર-વેબ-વાઇટલ લાઇબ્રેરી જે ફ્રન્ટએન્ડ એપ્લિકેશન્સમાં આ મેટ્રિક્સના સરળ માપન માટે પરવાનગી આપે છે. આ ઉપરાંત, ગૂગલ લાઇટહાઉસ, ક્રોમ ડેવ-ટૂલ્સ ઘટક અને પેજસ્પીડ ઇનસાઇટ એવી સાઇટ પણ પ્રદાન કરે છે જે વિકાસકર્તાઓને તેમની વેબસાઇટની કામગીરીને ગૂગલની ભલામણ કરેલ લઘુત્તમ અને મહત્તમ સાથે માપવા અને તેની તુલના કરવાની મંજૂરી આપે છે. આ ઉપરાંત, મોઝિલા ફાયરફોક્સ દ્વારા નેટવર્ક મોનિટર જેવા સાધનો ડેટા ટ્રાન્સમિશન દરમિયાન નેટવર્ક-સ્તરની મંદીમાં આંતરદૃષ્ટિ પ્રદાન કરવામાં મદદ કરે છે. સંદર્ભો વેબ વિકાસ