Score:1

มีบางอย่าง "ปิดกั้น" รูปภาพของฉันไม่ให้โหลดเร็วขึ้น ลองใช้ apache configs, nginx, cache header ไม่มีอะไรเปลี่ยนแปลง

ธง bq

ปัญหา : รูปภาพในไซต์ของฉันใช้เวลาสักครู่เพื่อเริ่มโหลด... เหมือนกับว่ามีบางอย่างปิดกั้น แต่ ไม่สามารถระบุได้ว่าอะไร อาจเป็นสาเหตุ

PHP 8 / WHM ล่าสุด

ตัวอย่างสด: https://www.stubfeed.com/crypto

สิ่งที่ฉันลอง [.0A.] : เปลี่ยนเว็บโฮสติ้งบริษัท => ไม่เปลี่ยนแปลง มีบางอย่างในโค้ดเว็บของฉัน...

สิ่งที่ฉันลอง [.0B.] : เคยเป็น centos 7 เปลี่ยนเป็น centos 8 => ยังเหมือนเดิม

สิ่งที่ฉันลอง [.0C.] : การปิดใช้งาน php-fpm => มันช่วยได้มาก แต่ก็ยังมีการรอรูปภาพอยู่

สิ่งที่ฉันลอง [.0D.] : เปิดหรือปิดบัฟเฟอร์ ouput => ยังเหมือนเดิม

สิ่งที่ฉันลอง [.1.] : รวม .css และ .js ของฉันทั้งหมดในไฟล์ที่น้อยลง ( 2.css 2.js แทนที่จะเป็นหลายไฟล์) // เพิ่ม font-display:swap;

สิ่งที่ฉันลอง [.2.] : nginx reverse proxy สำหรับ apache (เปิดหรือปิด => ไม่มีการเปลี่ยนแปลงเนื่องจาก cloudflare ทำหน้าที่เป็น CDN...)

สิ่งที่ฉันลอง [3] : apache configs

ส่วนหัวตั้งค่า X-XSS-Protection "1; mode=block"
ส่วนหัวตั้งค่า Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"
ส่วนหัวตั้งค่า X-Content-Type-Options "nosniff" เสมอ
ส่วนหัวตั้งค่า Referrer-Policy เป็น "no-referrer" เสมอ
ส่วนหัวตั้งค่าสิทธิ์นโยบายเสมอ "ตำแหน่งทางภูมิศาสตร์ = (ตัวเอง),midi = (ตัวเอง),sync-xhr = (ตัวเอง),magnetometer = (ตัวเอง),ไจโรสโคป = (ตัวเอง),เต็มหน้าจอ = (ตัวเอง)"

สิ่งที่ฉันลอง [4] : .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>

สิ่งที่ฉันลอง [5] : แปลง ทั้งหมด รูปภาพของฉันใน webp -quality 60 (พร้อม iMageMagick) => มันลดขนาดลงมาก ;) ==>> แต่ยังไม่ได้แก้ไขปัญหา

สิ่งที่ฉันลอง [6] : ใน google chrome console => "empty cache hard reload" => ดูเหมือนจะเร็วกว่าการโหลดปกติ ???

สิ่งที่ฉันลอง [7] : ในคอนโซล Google Chrome => แท็บเครือข่าย => ฉันเห็นว่าโหลดจากแคช แต่อย่างใดด้วยสายตาของฉัน ฉันเห็นเมนูเร็วมาก แต่ภาพอื่น ๆ ทั้งหมดรอ 1 หรือ 2 วินาทีก่อนที่จะแสดงขึ้น

สิ่งที่ฉันลอง [8] : เพิ่มกฎเพจใน cloudflare https://www.stubfeed.com/media/* เบราว์เซอร์แคช TTL: หนึ่งปี ระดับแคช: แคชทุกอย่าง Edge Cache TTL: 14 วัน เกราะการหลอกลวงแคช: เปิด การควบคุมแคชต้นทาง: เปิด

สิ่งที่ฉันลอง [9] : โหลด 4, 6, 9, 23 ภาพ => เหมือนเดิม, นิ่ง : สิ่งที่ฉันเห็นด้วยตาของฉัน (รอ 1 วินาที จากนั้นภาพจะปรากฏขึ้น....) [ผู้ทดสอบความเร็วบอกว่า .. .]

สิ่งที่ฉันลอง [10] : พนักงานบริการที่มีการแคชทั้งหมด fecth... => ฉันปิดมันเพราะการตรวจสอบจากแคชก่อนหน้านี้ช้ากว่ามาก... :( คุณสามารถดูได้ที่นี่ : https://www.stubfeed.com/ws.js?v=202108000021 (ในอาร์เรย์ที่แคชได้ ฉันเพิ่ม webb แต่ฉันลบออก...)

ผลลัพธ์จากการทดลองทั้งหมด: เมนู, .css, .js ==>> เร็วมากและทันที... แต่ภาพนิ่งหลังจาก 1 (บางครั้ง 2) วินาที...

คุณสามารถดูรายงานได้ที่นี่: https://gtmetrix.com/reports/www.stubfeed.com/4MGVqAFv/

ป้อนคำอธิบายรูปภาพที่นี่ ป้อนคำอธิบายรูปภาพที่นี่

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

HTTP/2 200 
วันที่: จันทร์ 02 ส.ค. 2564 02:13:44 GMT
ประเภทเนื้อหา: รูปภาพ/เว็บพี
ความยาวเนื้อหา: 78296
x-content-type-options: nosniff
นโยบายผู้อ้างอิง: ไม่มีผู้อ้างอิง
นโยบายการอนุญาต: ตำแหน่งทางภูมิศาสตร์=(ตัวเอง),midi=(ตัวเอง),sync-xhr=(ตัวเอง),magnetometer=(ตัวเอง),ไจโรสโคป=(ตัวเอง),เต็มหน้าจอ=(ตัวเอง)
แก้ไขล่าสุด: จันทร์ที่ 02 ส.ค. 2021 01:40:11 GMT
แตกต่างกันไป: ยอมรับการเข้ารหัส
x-xss-ป้องกัน: 1; โหมด = บล็อก
การรักษาความปลอดภัยการขนส่งที่เข้มงวด: max-age=15552000; รวมโดเมนย่อย; โหลดล่วงหน้า
การควบคุมแคช: สาธารณะ อายุสูงสุด=31536000
cf-cache-สถานะ: HIT
อายุ: 1483
ยอมรับช่วง: ไบต์
คาดว่า-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}
เนล: {"report_to":"cf-nel","max_age":604800}
เซิร์ฟเวอร์: cloudflare
cf-ray: 6783c9ea7f3c4bd1-YUL
alt-svc: h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; แม่=86400
djdomi avatar
za flag
https://developers.google.com/speed/pagespeed/insights/?url=https%3A%2F%2Fwww.stubfeed.com%2F crypto กล่าวว่ามาตราส่วน 95 ซึ่งยอดเยี่ยม
bq flag
@djdomi ดี ;) แต่สิ่งนี้จะแตกต่างกันอย่างไรเมื่อคุณทำจากจุดสิ้นสุดของคุณ vs ทำแบบเดียวกันจากจุดสิ้นสุดของฉันด้วยผลลัพธ์ที่แตกต่างกัน นอกจากนี้ จากการตรวจสอบความพยายามของฉัน คุณรู้หรือไม่ว่ามีอะไรที่สามารถปรับปรุงได้ ?
djdomi avatar
za flag
อินเทอร์เน็ตของฉันมี 1gbit แล้วของคุณล่ะ :พี
bq flag
@djdomi 77 Mbps
bq flag
@djdomi ปรากฎว่ามีหลายปัจจัย 1 => รูปภาพของฉันอยู่ใน filebase.com (โซลูชันพื้นที่จัดเก็บวัตถุแบบกระจายอำนาจที่ดี) ไม่ใช่ปัญหา 2 => ผู้ให้บริการอินเทอร์เน็ตของฉันมีบัฟเฟอร์หรือ TTL (หรือไม่แน่ใจว่าจะใช้คำที่เหมาะสม ) สูงมากและในระหว่างการโหลดสูง filebase.com load balancer เริ่มทำงานและให้ ips ใหม่.... ผู้ให้บริการอินเทอร์เน็ตของฉันชี้ไปที่ ip เก่าระหว่างการทำ load balancing นั้น.... 3 => ดูคำตอบที่ฉันรออยู่ หน้าโหลดเพื่อทำการโทร ajax (นั่นคือตัวบล็อก) ... ฉันใช้ php ดังนั้นฉันจึงรวมแทนการโทร ajax ...
Score:2
ธง bq

หลังจากขุดลึกลงไปฉันก็พบมัน

มันเป็น "ขั้นตอน" ที่ฉันมี... โหลดหน้าแล้ว ajax...

ฉันคิดใหม่และทำใหม่

ฉันยังเปลี่ยนรูปร่าง ajax ของฉันให้เป็น async wait

    ฟังก์ชัน async stubajax (divid,phphat,postix = [],pend = 'html') {
    
        var pcache = (คณิตศาสตร์ชั้น (คณิตศาสตร์สุ่ม () * 10,0000000) + 1);
        
        postix["preventcache"] = พีซีแคช;
        postix["divid"] = encodeURIComponent(หาร);
        postix["mojax_height"] = เข้ารหัสURIComponent($(หน้าต่าง).ความสูง());
        postix["mojax_width"] = encodeURIComponent($(หน้าต่าง).ความกว้าง());

postix["คุกกี้"] = decodeURIComponent(document.cookie); // หากคุณต้องการส่งคุกกี้
        
        สำหรับ (var i = 0; i < localStorage.length; i++){ postix[localStorage.key(i)] = localStorage.getItem(localStorage.key(i)); }
        สำหรับ (var i = 0; i < sessionStorage.length; i++){ postix[sessionStorage.key(i)] = sessionStorage.getItem(sessionStorage.key(i)); }
            
        รอการดึงข้อมูล (phphat+"?pcache="+pcache+"&fetchx="+pcache, {
          วิธีการ: "POST", เนื้อหา: JSON.stringify(Object.assign({}, postix)), ส่วนหัว: {"Content-type": "application/json; charset=UTF-8"}
        }).แล้ว( ตอบกลับ => { กลับ response.text(); }).แล้ว( html => { 
            เปลี่ยน ( ค้าง ) {
                กรณี 'ผนวก' : $("#"+divid+"_message").ผนวก(extraforml+html); หยุดพัก;
                กรณี 'เสริม' : $("#"+divid+"_message").prepend(extraforml+html); หยุดพัก;
                ค่าเริ่มต้น : $("#"+divid+"_message").html(extraforml+html); หยุดพัก;
            }
        }).catch( err => console.log(err) );
          
    }

ภายหลังจะเรียกอย่างนี้ก็ได้

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

// (เมื่อครบ 100% ในแต่ละหัวข้อเกี่ยวกับประภาคาร พวกเขาเพิ่มแอนิเมชั่นดอกไม้ไฟ)

ป้อนคำอธิบายรูปภาพที่นี่

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา