System

PAGESPEED TOOLS

မင်္ဂလာပါ။

ကျွန်တော်ကတော့ မောင်ရဲထက်အောင် ဖြစ်ပါတယ်။

Spiceworks Myanmar company မှာ web developer အဖြစ်ဝင်ရောက်လုပ်ကိုင်နေပါတယ်။

ကျွန်တော်ကတော့ ဒီတစ်ပတ်မှာ PAGE SPEED TOOLS အကြောင်းရှင်းပြမှာ ဖြစ်ပါတယ်။

နံပါတ် (1) ကတော့ css,javascript တို့ကို minify လုပ်နည်းလေးပါ။စမ်းကြည့်ဖို့ရန် ဒီ Link ကနေ Minifier for css and javascript မှာဝင်ကြည့်ပေးပါ။

နံပါတ် (2) ကတော့ G-zip နဲ့ Deflate အကြောင်းကို ရှင်းပြချင်ပါတယ်။

နံပါတ် (3) ကတော့ php နဲ့ Image တွေကို file size optimize လုပ်တဲ့အကြောင်းရှင်းပြသွားမှာပါ။

No.2. Enable Compressing For Gzip and Deflate
Apache web server က document တွေကို respond  ပြန်ပေးတဲ့အခါ ၊
document တွေကို compress လုပ်ပြီးမှ respond  ပြန်ပေးစေဖို့ mod_deflate Module ကိုအသုံးပြုနိုင်ပါတယ်။mod_gzip Module ကိုလည်းအသုံးပြုနိုင်ပါတယ်။ g_zip နဲ့ deflate တို့က text content တွေကို ၇၀% လောက်ထိ သေးကျုံ့သွားအောင် compress လုပ်ပေးနိုင်ပါတယ်။ .htaccess ထဲမှာရေးသားပေးရပါမယ်။

Enable Compressing For Gzip

	
mod_gzip_on Yesmod_gzip_dechunk Yes
mod_gzip_item_include file .(html?|txt|css|js|php|pl)$
mod_gzip_item_include handler ^cgi-script$mod_gzip_item_include mime ^text/.*
mod_gzip_item_include mime ^application/x-javascript.*
mod_gzip_item_exclude mime ^image/.*
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*

Enable Compressing For Deflate

	
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript

အပေါ်မှာ သတ်မှတ်ထားသလို ရေးမယ်ဆိုရင် Apache က html, css, javascript, php, xml နဲ့ icon တွေကို အရင်ဆုံး compress လုပ်ပြီးမှ respond ပြန်ပေးပါတယ်
Browser ကနေ Inspect Element ဖွင့်ပြီး Respond header မှာ ကြည့်နိုင်ပါတယ်။ compress လုပ်သွားတာကို တွေ့ပါလိမ့်တယ်။
Respond ကိုလက်ခံရရှိတဲ့ Borwser က compress လုပ်ထားကြောင်း သိရှိပြီး လိုအပ်သလို uncompress ပြုလုပ်ပြီး ဖော်ပြပေးသွားမှာပါ။
client နဲ့ server ကြား ဆက်သွယ်မှု ပိုမို မြန်ဆန်စေလိုပါက အသုံးပြုသင့်တဲ့ Module တစ်ခုဖြစ်ပါတယ်။

mod_expires ကတော့ cache control အတွက်ဖြစ်ပါတယ်။ browser က respond
အဖြစ်ရရှိဖူးတဲ့ အချက်အလက်တွေကို cache လုပ်ထားလေ့ရှိပါတယ်။ အဲ့လို cache
လုပ်လို့ရတဲ့ contentဆို ဘယ်လောက်အချိန်အတိုင်းအတာထိ cache
လုပ်သင့်သလဲဆိုတဲ့ setting ကို သတ်မှတ်စေတဲ့ module တစ်ခုဖြစ်ပါတယ်။ .htaccess ထဲမှာရေးသားပေးရပါမယ်။

<IfModule mod_expires.c">
ExpiresActive On
ExpiresByType image/jpg "access 1 year"
ExpiresByType image/jpeg "access 1 year"
ExpiresByType image/gif "access 1 year"
ExpiresByType image/png "access 1 year"
ExpiresByType text/css "access 1 month"
ExpiresByType application/pdf "access 1 month"
ExpiresByType application/javascript "access 1 month"
ExpiresByType application/x-javascript "access 1 month"
ExpiresByType application/x-shockwave-flash "access 1 month"
ExpiresByType image/x-icon "access 1 year"
ExpiresDefault "access 2 days"
<IfModule">

 

No.3.Optimize Images
PHP မှာ image optimize လုပ်မယ်ဆိုရင် image ရဲ့ file လမ်းကြောင်းကနေ image ရဲ့ filename ကိုယူမယ်။
imagesize သတ်မှတ်မယ်။file extension ဖြစ်ကြောင်းကြေညာမယ်။
နောက်ပြီး file extension jpeg အတွက်ဆို imagejpeg() ကိုအသုံးပြုပေးပါ။
gif အတွက်ဆိုimagegif() ကိုအသုံးပြုပေးပါ။
pngအတွက်ဆို imagepng() ကိုအသုံးပြုပေးရပါမယ်။
အောက်က code မှာ example လေးနဲ့ပြောပြပေးထားပါတယ်။သတ်မှတ်ရမယ့်နေရာလေးတွေမှာ source image ,compressimage,quality တို့နဲ့ဖော်ပြထားပါတယ်။ File upload တည်ဆောက်ပြီးကူးယူစမ်းသပ်ကြည့်ပါ။

      
$filename="myimage.jpg";
$img = imagecreatefromjpeg($filename);
header("Content-Type: image/jpeg");
imagejpeg($img, $filename, 100);
      
function compressImage($source_image, $compress_image) {
		$image_info = getimagesize($source_image);	
		if ($image_info['mime'] == 'image/jpeg') { 
			$source_image = imagecreatefromjpeg($source_image);
			imagejpeg($source_image, $compress_image, quality);
		} elseif ($image_info['mime'] == 'image/gif') {
			$source_image = imagecreatefromgif($source_image);
			imagegif($source_image, $compress_image, quality);
		} elseif ($image_info['mime'] == 'image/png') {
			$source_image = imagecreatefrompng($source_image);
			imagepng($source_image, $compress_image, quality);
		}	    
		return $compress_image;
	}

နောက်ထပ်လည်း ကျွန်တော်သိသလောက် လေ့လာဖြစ်တာလေးတွေ Sharing လုပ်ပေးသွားပါ့မယ် ခင်ဗျ။
ဖတ်ရှုပေးတဲ့အတွက်လည်း အားလုံးကို ကျေးဇူးတင်ပါတယ် ခင်ဗျာ။

Hello

Leave a Reply

Your email address will not be published. Required fields are marked *