Puncte:1

ceva „blochează” imaginile mele de la încărcarea mai rapidă a configurațiilor Apache încercate, nginx, chestii din antetul cache, nimic nu se schimbă

drapel bq

PROBLEMA : imaginile de pe site-ul meu durează puțin să înceapă să se încarce... parcă se blochează ceva, dar incapabil să precizeze ce ar putea fi cauza.

PHP 8 / cel mai recent WHM

EXEMPLU LIVE: https://www.stubfeed.com/crypto

CE AM ÎNCERCAT [.0A.]: schimbarea companiei de găzduire web => nicio schimbare, există ceva în codul meu web...

CE AM ÎNCERCAT [.0B.]: Am fost cu centos 7 și am schimbat la centos 8 => tot la fel

CE AM ÎNCERCAT [.0C.] : Dezactivarea php-fpm => a ajutat foarte mult, dar totuși așteptarea imaginilor este acolo.

CE AM ÎNCERCAT [.0D.]: tampon de ieșire activat sau dezactivat => tot la fel

CE AM ÎNCERCAT [.1.]: îmbina toate fișierele mele .css și .js în mai puține fișiere ( 2.css 2.js în loc de multiple) // a adăugat și font-display:swap;

CE AM ÎNCERCAT [.2.]: nginx reverse proxy pentru apache (pornit sau oprit => nicio schimbare, deoarece cloudflare acționează ca un CDN...)

CE AM ÎNCERCAT [3]: apache configs

Set antet X-XSS-Protection „1; mod=bloc”
Set antet Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"
Antetul setat întotdeauna X-Content-Type-Options „nosniff”
Antetul setat întotdeauna Referrer-Policy „no-referrer”
Antetul setat întotdeauna Permisiuni-Politică „geolocație=(self),midi=(self),sync-xhr=(self),magnetometru=(self),gyroscope=(self),fullscreen=(self)”

CE AM ÎNCERCAT [4] : anteturi de control cache .htaccess

<IfModule mod_headers.c>
    ExpiresActive On
    <FilesMatch “\.(webp|webm|flv|ico|pdf|avi|mov|mp4|m4v|m4a|ppt|doc|mp3|wmv|wav|gif|jpg|jpeg|png|apng|swf|css|js|otf|ttf|woff)$">
    Header set Cache-Control "max-age=31536000, public"
    </FilesMatch>
</IfModule>

CE AM ÎNCERCAT [5] : convert TOATE imaginile mele în webp -quality 60 (cu iMageMagick) => a redus mult dimensiunea ;) ==>> dar tot nu a rezolvat problema.

CE AM ÎNCERCAT [6]: în consola google chrome => "reîncărcare hard cache gol" => pare mai rapid la încărcarea normală ???

CE AM ÎNCERCAT [7] : în consola google chrome => fila rețea => văd încărcat din cache dar cumva cu ochii, văd meniul foarte repede dar toate celelalte imagini, așteaptă 1 sau 2 secunde înainte de a apărea

CE AM ÎNCERC [8]: adăugați o regulă de pagină în cloudflare https://www.stubfeed.com/media/* Browser Cache TTL: un an, Cache Level: Cache Everything, Edge Cache TTL: 14 zile, Cache Deception Armor: On, Origin Cache Control: On

CE AM ÎNCERCAT [9] : Încarcă 4, 6, 9, 23 de imagini => tot la fel, totuși : ce văd cu ochii mei (așteaptă 1 sec, apoi apar imagini....) [testerii de viteză spun .. .]

CE AM ÎNCERC [10] : lucrător de service cu stocarea în cache a tuturor efectelor... => L-am dezactivat deoarece verificarea din cache înainte a fost teribil de lentă... :( o puteți vedea acolo : https://www.stubfeed.com/ws.js?v=202108000021 (în matricea cachabilă am adăugat wepb, dar l-am eliminat...)

REZULTATUL CU TOATE ACELE ÎNCERCĂRI : meniul, .css, .js ==>> foarte rapid și instantaneu... dar imagini statice după 1 (uneori 2) secunde...

un raport puteti vedea aici: https://gtmetrix.com/reports/www.stubfeed.com/4MGVqAFv/

introduceți descrierea imaginii aici introduceți descrierea imaginii aici

curl -I https://www.stubfeed.com/media/feed/2021/08/02/14463960829226.webp

HTTP/2 200 
data: Luni, 02 Aug 2021 02:13:44 GMT
tip de conținut: imagine/webp
Lungimea conținutului: 78296
x-content-type-options: nosniff
referrer-policy: no-referrer
Politica de permisiuni: geolocation=(self),midi=(self),sync-xhr=(self),magnetometru=(self),gyroscope=(self),fullscreen=(self)
ultima modificare: Luni, 02 Aug 2021 01:40:11 GMT
variază: Acceptare-Codare
x-xss-protecție: 1; mod=bloc
strict-transport-security: max-age=15552000; include SubDomains; preîncărcare
cache-control: public, max-age=31536000
cf-cache-status: HIT
vârsta: 1483
accept-range: octeți
expect-ct: max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
report-to: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=QawI6BH%2FlcrvvsUxJ6VgTJzwNqvb%2BVqBRo1gbxng6JRggJe9MgZbkWhLtMjmwvwC8yB3SLaoJXT%2BvNZDuLCzya1g8HlxGFbpFMzXB%2F4p%2B9GcIGIZANk% 2FjfvIx0Lu2t07QIsr"}],"group":"cf-nel","max_age":604800}
nel: {"report_to":"cf-nel","max_age":604800}
server: cloudflare
cf-ray: 6783c9ea7f3c4bd1-YUL
alt-svc: h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; ma=86400
djdomi avatar
drapel za
https://developers.google.com/speed/pagespeed/insights/?url=https%3A%2F%2Fwww.stubfeed.com%2F crypto spune o scară de 95 care este grozav?
drapel bq
@djdomi frumos ;) dar cum poate fi diferit atunci când o faci de la capătul tău față de a face același lucru de la capătul meu cu un rezultat diferit? de asemenea, verificând încercările pe care le-am făcut, știți dacă ar putea fi îmbunătățit ceva?
djdomi avatar
drapel za
Internetul meu are 1 gbit, ce zici de al tău? :P
drapel bq
@djdomi 77 Mbps
drapel bq
@djdomi se dovedește că au fost mulți factori, 1 => imaginile mele sunt în filebase.com (soluție frumoasă de stocare a obiectelor descentralizate) nu a fost problema 2 => furnizorul meu de internet are un buffer sau TTL (sau nu sunt sigur de termenul potrivit de utilizat ) foarte mare și în timpul încărcărilor mari, balansoarele de încărcare filebase.com se lansează și oferă ip-uri noi.... furnizorul meu de internet indică ip-ul vechi în timpul acelui lucru de echilibrare a încărcăturii.... 3 => vezi răspunsul meu pe care îl așteptam încărcarea paginii pentru a face un apel ajax (acesta a fost blocantul)... Folosesc php, așa că am inclus în loc de apel ajax...
Puncte:2
drapel bq

După săpături mai adânci, l-am găsit.

Erau „pașii” pe care i-am avut... încărcați pagina apoi ajax...

M-am regândit și am făcut o includere.

De asemenea, mi-am remodelat ajax-ul pentru a fi async await

    funcția asincronă stubajax (divid,phphat,postix = [],pend = 'html') {
    
        var pcache = (Math.floor(Math.random() * 100000000) + 1);
        
        postix["preventcache"] = pcache;
        postix["divid"] = encodeURIComponent(divid);
        postix["mojax_height"] = encodeURIComponent($(window).height());
        postix["mojax_width"] = encodeURIComponent($(window).width());

postix["cookies"] = decodeURIComponent(document.cookie); // dacă trebuie să trimiteți cookie-uri
        
        pentru (var i = 0; i < localStorage.length; i++){ postix[localStorage.key(i)] = localStorage.getItem(localStorage.key(i)); }
        pentru (var i = 0; i < sessionStorage.length; i++){ postix[sessionStorage.key(i)] = sessionStorage.getItem(sessionStorage.key(i)); }
            
        așteaptă preluarea(phphat+"?pcache="+pcache+"&fetchx="+pcache, {
          metoda: "POST", corp: JSON.stringify(Object.assign({}, postix)), anteturi: {"Content-type": "application/json; charset=UTF-8"}
        }).then( răspuns => { return răspuns.text(); }).then( html => { 
            comutator ( pend ){
                case 'append' : $("#"+divid+"_message").append(extraforml+html); pauză;
                case 'prepend' : $("#"+divid+"_message").prepend(extraforml+html); pauză;
                implicit : $("#"+divid+"_message").html(extraforml+html); pauză;
            }
        }).catch( err => console.log(err) );
          
    }

mai târziu poate fi numit astfel

stubajax('id','...php',{'somevar1':'hello'});

// (atunci când se ajunge la 100% la fiecare subiect pe far, au adăugat o animație cu artificii)

introduceți descrierea imaginii aici

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.