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 *