আমার থিম এবং সাইটটি যত দ্রুত সম্ভব চালানো যায় তা নিশ্চিত করার জন্য আমি কী পদক্ষেপ নিতে পারি ডাব্লু 3 টোটাল ক্যাশে বা অন্য কোনও ক্যাশে প্লাগইন ইনস্টল করা ছাড়াও।
আমার থিম এবং সাইটটি যত দ্রুত সম্ভব চালানো যায় তা নিশ্চিত করার জন্য আমি কী পদক্ষেপ নিতে পারি ডাব্লু 3 টোটাল ক্যাশে বা অন্য কোনও ক্যাশে প্লাগইন ইনস্টল করা ছাড়াও।
উত্তর:
আপনি এনগিনেক্সে ওয়ার্ডপ্রেস ইনস্টল করতে পারেন। সাহায্য করার জন্য প্রচুর সংস্থান রয়েছে:
কীভাবে এনগিনেক্স এবং ডাব্লুপি সুপার ক্যাশে সহ ওয়ার্ডপ্রেস গতি বাড়ান
ওয়ার্ডপ্রেসের জন্য ফ্রন্ট-এন্ড প্রক্সি ক্যাশে হিসাবে এনগিনেক্স
শেষ লিঙ্কটির কিছু কার্য সম্পাদনের তথ্য (যা অন্যদের তুলনায় কিছুটা আলাদা সেটআপ হিসাবে উপস্থিত হয়):
সুতরাং আমি স্থির ক্যাশে যথাসম্ভব ওয়ার্ডপ্রেসের সামনে একটি প্রক্সি স্থাপন করার সিদ্ধান্ত নিয়েছি। সমস্ত অ-অনুমোদনপ্রাপ্ত ট্র্যাফিক সরাসরি এনগিনেক্স ফাইল ক্যাশে থেকে পরিবেশন করা হয়, কিছু অনুরোধ গ্রহণ করে (যেমন আরএসএস ফিড উত্পাদন)) পৃষ্ঠা / সেকেন্ড থেকে 000০০০+ পৃষ্ঠা / সেকেন্ডে। নগদ টাকা। এনগিনেক্স লগিং এবং গিজিপিং পরিচালনাও করে, ভারী ব্যাকএন্ডের অ্যাপাচগুলি সর্বোত্তম কাজটি করার জন্য ছেড়ে দেয়: যখন প্রয়োজন হয় তখনই ডায়নামিক ওয়ার্ডপ্রেস পৃষ্ঠাগুলি পরিবেশন করুন।
...
এনগিনেক্সে - এটি এতটাই দক্ষ যে এটি ভীতিকর। আমি কখনও ভারী ভারী বোঝার নিচে এটি 10 থেকে 15 মেগা র্যাম এবং সিপিইউর একটি ব্লিপ ব্যবহার করতে দেখিনি। আমাদের গ্যাংলিয়া গ্রাফগুলি মিথ্যা বলে না: আমরা আমাদের স্মৃতিশক্তি প্রয়োজনীয়তা অর্ধেক করে দিয়েছি, আমাদের বহির্গামী নেটওয়ার্ক থ্রুপুট দ্বিগুণ করেছি এবং সম্পূর্ণভাবে আমাদের বোঝা সমান করে দিয়েছি। এটি সেট আপ করার পরে আমাদের মূলত কোনও সমস্যা হয়নি।
CSS, চিত্র, জাভাস্ক্রিপ্ট ইত্যাদির জন্য ক্লায়েন্ট-সাইড মেয়াদ নির্ধারণ করুন যা প্রতিটি পৃষ্ঠা দেখার জন্য পুনরায় ডাউনলোড করার দরকার নেই to এটি এখনও পর্যন্ত আমার সাইটের লোডিংয়ের সময়ের সবচেয়ে বড় পার্থক্য করেছে। দ্রুততম ডাউনলোড হ'ল এমন ডাউনলোড যা কখনও ঘটে নি ...
# BEGIN Expire headers
<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 7200 seconds"
ExpiresByType image/x-icon "access plus 2592000 seconds"
ExpiresByType image/jpeg "access plus 2592000 seconds"
ExpiresByType image/png "access plus 2592000 seconds"
ExpiresByType image/gif "access plus 2592000 seconds"
ExpiresByType application/x-shockwave-flash "access plus 2592000 seconds"
ExpiresByType text/css "access plus 2592000 seconds"
ExpiresByType text/javascript "access plus 2592000 seconds"
ExpiresByType application/x-javascript "access plus 2592000 seconds"
ExpiresByType text/html "access plus 7200 seconds"
ExpiresByType application/xhtml+xml "access plus 7200 seconds"
</IfModule>
# END Expire headers
# BEGIN Cache-Control Headers
<IfModule mod_headers.c>
<FilesMatch "\\.(ico|jpe?g|png|gif|swf|gz)$">
Header set Cache-Control "max-age=2592000, public"
</FilesMatch>
<FilesMatch "\\.(css)$">
Header set Cache-Control "max-age=2592000, public"
</FilesMatch>
<FilesMatch "\\.(js)$">
Header set Cache-Control "max-age=2592000, private"
</FilesMatch>
<filesMatch "\\.(html|htm)$">
Header set Cache-Control "max-age=7200, public"
</filesMatch>
# Disable caching for scripts and other dynamic files
<FilesMatch "\.(pl|php|cgi|spl|scgi|fcgi)$">
Header unset Cache-Control
</FilesMatch>
</IfModule>
# END Cache-Control Headers
আপনি যুক্তিসঙ্গতভাবে যা কিছু করতে পারেন তার প্রাক-জিজিপ করতে পারেন (7-জিপ এটির জন্য একটি ভাল সরঞ্জাম) এবং আপনি যে ফাইলটি জিপড করেছিলেন সেভাবে একই জায়গায় এটি আপলোড করুন। নীচে হিসাবে প্রাক gzipped ফাইল পরিবেশন করতে .htaccess পরিবর্তন করুন। এখানে সাবধানতা আপনার / যখন আপনি জিনিস আপডেট করেন তবে সেগুলি পুনঃজাইপ করা উচিত। এটি .htaccess পার্সিং ব্যতীত সিপিইউ ওভারহেড কেটে দেয়।
RewriteEngine on
#Check to see if browser can accept gzip files. If so and we have it - serve it!
ReWriteCond %{HTTP:accept-encoding} gzip
RewriteCond %{HTTP_USER_AGENT} !Safari
#make sure there's no trailing .gz on the url
ReWriteCond %{REQUEST_FILENAME} !^.+\.gz$
#check to see if a .gz version of the file exists.
RewriteCond %{REQUEST_FILENAME}.gz -f
#All conditions met so add .gz to URL filename (invisibly)
RewriteRule ^(.+) $1.gz [QSA,L]
এটি কেবল একটি কাঁচা উত্তর। এই থিমটিতে প্রচুর বৈচিত্র রয়েছে। আমি এটি সম্পর্কে ব্লগ করেছি এবং http://icanhazdot.net/2010/03/23/some-wordpress-stuff/ এ আরও গভীরতর নিবন্ধগুলিতে বেশ কয়েকটি উল্লেখ উল্লেখ করেছি । এটি পড়ুন এবং আরও গুরুত্বপূর্ণ, আমি যে উল্লেখগুলি উল্লেখ করছি - সেগুলি ভাল সম্পদ।
সচেতন হন যে আপনি যদি প্রায়শই টিঙ্কার করেন তবে ব্যবহারকারীদের তাদের ক্যাশে রিফ্রেশ করতে হবে।
আমার খুব দরকারী একটি প্লাগইন হ'ল ডাব্লুপি-মিনিফাই । এটির সাথে দেখার বিষয়টি হ'ল আপনার পৃষ্ঠা-নির্দিষ্ট আইটেমগুলি (যোগাযোগের ফর্ম, সম্মুখ পৃষ্ঠার স্লাইডার ইত্যাদি) বাদ দেওয়া উচিত যাতে আপনি প্রতিটি পৃষ্ঠার জন্য সিএসএস, জেএস ইত্যাদি পুরো সেটটি পুনরায় ডাউনলোড না করেন। এটি আপনার বেসলাইন সিএসএস, জেএস ইত্যাদি হ্রাস করা, একত্রিত করা এবং সংক্ষেপিত করার একটি ভাল উপায় এটি HTTP রিকুয়েস্টনে অনেকটা নিচে কেটে যায়। ডাব্লুপি-মিনিফাই সুপার ক্যাসে এবং মেয়াদোত্তীর্ণ শিরোনামগুলির সাথে ভাল খেলে যা আমি উপরে বর্ণনা করেছি।
ফায়ারব্যাগে (ফায়ারফক্স) বা এর অনুরূপ আপনার HTTP অনুরোধগুলি এবং যা সংকুচিত নয় তা নিরীক্ষণ করতে ব্যবহার করুন। সেখানেও মেয়াদোত্তীর্ণ শিরোনামগুলি দেখুন। আপনি শীঘ্রই দেখতে পাবেন আপনি কী উন্নতি করতে পারেন।
আপনার যা প্রয়োজন প্লাগইনগুলির সংখ্যা হ্রাস করুন। বিশেষত সেই প্লাগইনগুলি সম্পর্কে সচেতন থাকুন যা প্রতিটি পৃষ্ঠা লোডে জাভাস্ক্রিপ্ট এবং সিএসএস কোড যুক্ত করে, এমনকি যখন পৃষ্ঠাটিতে সেই কোডটি ব্যবহার করা হচ্ছে না।
আপনি যদি স্ক্র্যাচ থেকে আপনার নিজস্ব থিম তৈরি করে থাকেন তবে আপনার সিএসএসটি ভেঙে দিন যাতে কেবলমাত্র নির্দিষ্ট পৃষ্ঠার টেম্পলেটগুলির জন্য প্রয়োজনীয় বৈশিষ্ট্য বা দর্শন প্রকারগুলি (একক পোস্ট, সংরক্ষণাগার, বিভাগ ইত্যাদি) কেবলমাত্র যখন প্রয়োজন হয় তখন লোড হয়।
সিডিএন ব্যবহারের জন্য ডাব্লু 3 টিটি কনফিগার করুন (যেমন অ্যামাজন ক্লাউডফ্রন্ট বা ডাব্লু 3 টিসি দ্বারা সমর্থিত অন্য যে কোনও একটি)।
মিনিফাইটিং বিকল্পগুলি আপনার জন্য কাজ করে কিনা দেখুন (কিছু প্লাগইন জেএস / সিএসএস উত্পন্ন করে যা ভালভাবে মাইনাইফ করবে না, তাই মিনিফাইটি বৈশিষ্ট্য সক্রিয় করার পরে আপনার সাইটটি পরীক্ষা করে নিশ্চিত হন)।
আপনার যদি আপনার মাইএসকিউএল সার্ভারের সম্পূর্ণ নিয়ন্ত্রণ থাকে তবে নিশ্চিত হয়ে নিন যে আপনার ক্যোরি_ক্যাশ চালু আছে। আপনার ডাটাবেস কনফিগারেশনের অনুকূলকরণের অন্যান্য উপায়গুলি খুঁজতে একটি মাইএসকিউএল টিউনিং স্ক্রিপ্ট ব্যবহার করুন ।
যদি কোনও কারণে সিডিএন ব্যবহার করা সমস্যাযুক্ত হয় তবে আপনার অ্যাপাচি সেটআপে মোড_এক্সপায়ারগুলি কনফিগার করুন। চিত্র, সিএসএস, জাভাস্ক্রিপ্ট, ভিডিও, অডিও ইত্যাদির মতো স্থির ধরণের জন্য যুক্তিসঙ্গত সময় হিসাবে সেট করুন
মেমচেড চালান এবং ডাটাবেস প্রশ্নের সংখ্যা হ্রাস করতে একটি অবজেক্ট ক্যাশে ব্যবহার করুন । এটি পৃষ্ঠাগুলির চেয়ে ডাটাবেস থেকে ডেটা ক্যাশে করে। নিশ্চিত না যে ডাব্লু 3-মোট-ক্যাশে ইতিমধ্যে এটি করেছে কিনা।
আপনি APC এর মতো একটি অপকোড ক্যাশে চালাচ্ছেন তা নিশ্চিত করুন । (আরও কয়েকটি উপলভ্য রয়েছে))
ডাব্লুপি-ক্যাশে যেমন একটি ডিস্ক ক্যাচিং প্লাগইন ব্যবহার করার পাশাপাশি, আপনার ব্লগকে এমন একটি হোস্ট ভলিউমে রাখুন যাতে এতে "ন্যাটিম" সম্পত্তি সেট থাকে। অন্যথায়, আপনার হোস্টের মধ্যে এসএসএইচ (যদি আপনার ওয়েবহোস্ট এটি সরবরাহ করে) এবং নিয়মিতভাবে আপনার ফাইলগুলিতে প্রতি কয়েক দিন এই আদেশটি চালান:
chattr -R +A ~/*
~ / * এর অর্থ "আমার হোম ডিরেক্টরি অনুসারে আমার ফাইলগুলি"। আপনি যেমন দেখতে চান ঠিক তেমন পথটি পরিবর্তন করতে পারেন। আপনার ওয়েবহোস্ট যদি এটি সরবরাহ করে তবে আপনি এটি সিপ্যানেলে ক্রোন জবটিতেও সেট আপ করতে পারেন।
Atime সম্পত্তি সম্পর্কে আরো তথ্যের জন্য, দেখুন এই । এটি লিনাক্স ডিস্ক পড়ার কার্যকারিতা ব্যাপকভাবে গতিবেগ করে।
কখনও কখনও আপনার সাইট মাকড়সা দ্বারা হামার করা হচ্ছে। আপনি স্পাইডারস্প্যাঙ্কার বা চেন্নাই সেন্ট্রালের মতো একটি সরঞ্জাম ব্যবহার করতে পারেন এমন মাকড়সাগুলি ফিল্টার আউট করতে যা আপনার সাইটে আরও পৃষ্ঠার র্যাঙ্ক আনতে সাহায্য করে না এবং কেবল এটি ধীর করে দেয়, এবং তারপরে এলোমেলো প্রেরণ করে ভাল মাকড়সা (যেমন গুগল, বিং ইত্যাদি) থ্রোট করে good HTTP 304 পরিবর্তিত বার্তা নেই।
আর একটি জিনিস যা আমি দেখছি তা হ'ল খারাপ লেখা প্লাগইন। আপনি যদি প্লাগইনগুলি কীভাবে বানাতে হয় তা শিখতে শুরু করেন, আপনি কিছু প্লাগইনগুলি কীভাবে দক্ষভাবে কোডড হয়ে গেছেন তা দেখতে শুরু করেছেন, অথবা এমনকী টাইমবম্বগুলি খুঁজে পাবেন যেমন একটি ডাটাবেস টেবিল যা পূরণ করে এবং পূরণ করে না এবং ইনকামিং সংযোগ ডেটার মতো জিনিস সংরক্ষণ করে never
অন্যান্য সমস্ত সমাধানের বাইরেও আপনি নিজের ব্লগের একাধিক ওয়েব নোড পিসিতে হোস্ট করে একটি ওয়ার্ডপ্রেস ওয়েব ফার্ম তৈরি করতে পারেন যা ফাইলগুলির জন্য একটি একক ডাটাবেস এবং একটি একক ডিস্ক ভলিউমের সাথে ফিরে সংযোগ স্থাপন করে (যেমন এনএফএসের উপরে মাউন্ট করা একটি ভলিউম) back )। কীভাবে এটি চলছে তা আল্ট্রা বানর পরীক্ষা করে দেখুন ।
আমার মাথার উপরের অংশ থেকে কয়েকটি উত্তর:
1) ব্রাউজারটি আপনার হোস্টের কাছে জাভাস্ক্রিপ্ট এবং সিএসএসকে যেখানে সম্ভব / ব্যবহারিক হতে পারে তা কমাতে এইচটিটিপি রিকুয়েস্টগুলি কমিয়ে আনুন।
2) আপনার চিত্র / মিডিয়া যতটা সম্ভব তৃতীয় পক্ষের সিডিএনগুলিতে পরিবেশন করা অফলোড করুন, বিশেষত আপনি যদি ভাগ করা হোস্টিং ব্যবহার করছেন।
৩) মোট রেন্ডার সময় কমানোর জন্য প্রথম পৃষ্ঠায় আপনি যে পোস্ট পোস্ট করছেন তা হ্রাস করার চেষ্টা করুন।
৩ ক) এমন একটি থিম ব্যবহারের চেষ্টা করুন যা প্রথম পৃষ্ঠায় কয়েকটি বৈশিষ্ট্যযুক্ত পোস্ট এবং অন্যান্য সমস্ত, পুরাতন পোস্টগুলি উদ্ধৃতাংশ হিসাবে উপস্থাপন করে।
ওয়ার্ডপ্রেস মেনু ক্যাচ করা আপনাকে একটি পারফরম্যান্স বাড়িয়ে তোলে। বিশেষত আপনার যদি প্রচুর পৃষ্ঠা বা একটি বিশাল মেনু কাঠামো থাকে তবে এটি বিবেচনা করা উচিত।
এটি 2 সহজ পদক্ষেপে করুন। প্রথমে, wp_nav_menu
সরাসরি একটি কল করার পরিবর্তে একটি ফাংশন তৈরি করুন যা মেনুটি পায় বা তৈরি করে ।
function get_cached_menu( $menuargs ) {
if ( !isset( $menuargs['menu'] ) ) {
$theme_locations = get_nav_menu_locations();
$nav_menu_selected_id = $theme_locations[$menuargs['theme_location']];
$termslug = get_term_by( 'id', $nav_menu_selected_id, 'nav_menu' );
$transient = 'menu_' . $termslug->slug . '_transient';
} else {
$transient = 'menu_' . $menuargs['menu'] . '_transient';
}
if ( !get_transient( $transient ) ) { // check if the menu is already cached
$menuargs['echo'] = '0'; // set the output to return
$this_menu = wp_nav_menu( $menuargs ); // build the menu with the given $menuargs
echo $this_menu; // output the menu for this run
set_transient( $transient, $this_menu ); // set the transient, where the build HTML is saved
} else {
echo get_transient( $transient ); // just output the cached version
}
}
আপনার থিমে wp_nav_menu
এস এর সাথে প্রতিস্থাপন করুন get_cached_menu
। এখন, প্রত্যেকবার মেনুটি কল করার সময় আপনার কাছে পুরো মেনুবিল্ডিংয়ের পরিবর্তে একটি ডাটাবেসকোয়ারি থাকে।
মেনুগুলি প্রায়শই পরিবর্তন হয় না - তবে আপনাকে wp_update_nav_menu
পুরানো স্থানান্তরগুলি মোছার জন্য ক্রিয়াতেও ডুবতে হবে।
এটা এভাবে করো:
add_action('wp_update_nav_menu', 'my_delete_menu_transients');
function my_delete_menu_transients($nav_menu_selected_id) {
$termslug = get_term_by( 'id', $nav_menu_selected_id, 'nav_menu' );
$transient = 'menu_' . $termslug->slug . '_transient';
delete_transient( $transient );
}
পরের বার পৃষ্ঠাটি কল করার সময় মেনুটি তৈরি করা হবে - এবং কেউ আবার মেনু আপডেট না করা পর্যন্ত ক্যাশেড সংস্করণ ব্যবহার করুন।
নতুন সংস্করণ
স্লাগস এবং আইডিগুলির মধ্যে একটি ভুল নির্দেশ করার জন্য @ হেলগাথেভিয়েক ধন্যবাদ। আমি ফাংশনগুলি আপডেট করেছি যাতে এটি theme_position
এবং menu
মেনুতে সরাসরি কল করার জন্য উভয়ই কাজ করে ।
থিমের অবস্থান নয়, মেনুগুলি সর্বদা মেনুর নাম দিয়ে সংরক্ষণ করা হয়।
$nav_menu_selected_id
, একটি সংখ্যা থাকাকালীন যখন কলিং get_cached_menu()
The menu_id
একটি স্ট্রিং পরিবর্তনশীল কারণ যে পরামিতি জন্য CSS আইডি হয়ে <ul>
উপাদান।
অপ্টিমাইজেশনের জন্য ছাঁটা একটি ডাটাবেস ক্লাস ব্যবহার করুন। মেমরির ব্যবহার এবং ডাটাবেস অ্যাক্সেসের গতি হ্রাস করতে আমরা নিজস্ব কোড দিয়ে ভাল অভিজ্ঞতা তৈরি করেছি। এরপরে, আপনি কিছু ছোট ছোট পরিবর্তন করে যা ডাটাবেস স্ট্রাকচারকে নিজেই অনুকূল করতে পারেন যা অনেক কিছু করে।
ডাটাবেস ক্লাস কোডের কিছু অংশ ওয়ার্ডপ্রেস ট্র্যাকটিতে পাওয়া যাবে, এটি এটিকে মূল হিসাবে তৈরি করে নি ( টিকিট # 11799 এবং সম্পর্কিত )।
একটি উচ্চ পাচারকারী সাইটের জন্য, আপনার কাছে এখন থাকা সামগ্রীর জন্য সমস্ত মাইএসকিউএল বাফার টিউন করা উচিত। ওয়ার্ডপ্রেস সংস্করণ নির্বিশেষে, মাইএসকিউএল স্তরটির কনফিগারেশন গণনা করা যেতে পারে ।
প্রকৃতপক্ষে, যদি আপনার ইনডোডিবি ডেটা থাকে ইনডোডবি_ফাইলে_পার_সেবাকে সক্ষম না করে, আপনার প্রতিটি টেবিলকে তার নিজস্ব শারীরিক টেবিল স্পেসে ভাগ করে ইনোডিবি পরিষ্কার করতে হবে । আপনার কাছে সীমিত হার্ডওয়্যার থাকলেও শালীন মাইএসকিউএল টিউনিং করা সম্ভব । এ ধরনের ইনোডিবি অপ্টিমাইজেশান করার জন্য অনেক পরিস্থিতিতে রয়েছে ।
আইএমএইচও, আপনি কনফিগার করতে তথ্যের পরিমাণ না জেনে মাই সিএনএফ এর জন্য ভাল সেটিংসের পরিকল্পনা করতে পারবেন না। আপনাকে পর্যায়ক্রমে একটি স্টেজিং পরিবেশে উত্পাদন থেকে একটি বর্তমান ডেটাসেট লোড করতে হবে, অপ্টিমাইজেশানগুলি সম্পাদন করতে হবে এবং প্রযোজনা সার্ভারের my.cnf এ কনফিগার করার জন্য সংখ্যাগুলি নিয়ে চলে আসতে হবে।
আপনি গ্লোবাল আউটপুট সংক্ষেপণ সক্ষম করতে পারে । ব্রাউজার সমর্থন করলে এটি স্বয়ংক্রিয়ভাবে বাইরে চলে যাওয়া সবকিছুকে জিপ করবে। এটি হস্তান্তরিতভাবে ফাইলগুলির আকার হস্তান্তর হ্রাস করে, তবে আপনার সিপিইউ লোড বাড়িয়ে তোলে।
আমি সম্প্রতি ওয়ার্ডক্যাম্প হিউস্টনে এই বিষয় সম্পর্কে কথা বলেছি । উপরের সমস্ত প্রস্তাবনাগুলি দুর্দান্ত এবং গুরুত্বপূর্ণ বিষয়টি নিশ্চিত করা হয় যে সমস্ত সামনের দিকের জিনিসগুলি সম্পূর্ণরূপে অনুকূলিত হয়েছে তবে আপনি ক্যাচিং এবং সার্ভারের পারফরম্যান্স ইস্যুগুলিতে কাজ শুরু করতে পারেন।
প্রগতিশীল রেন্ডারিং আপনার পৃষ্ঠাগুলি দ্রুত বোধ করবে কারণ ব্যবহারকারী পৃষ্ঠার সামগ্রী সম্পূর্ণরূপে লোড হওয়ার আগেই এটি দেখতে পাবে। এটি করার জন্য নিশ্চিত করুন যে কোনও ব্লকিং জেএস পৃষ্ঠার একেবারে নীচে এবং সিএসএস শীর্ষে রয়েছে।
এছাড়াও যদি আপনি প্রচুর সোশ্যাল মিডিয়া বোতাম ব্যবহার করেন তবে পৃষ্ঠাটি সম্পূর্ণ লোড হয়ে যাওয়ার পরে আপনি স্ক্রিপ্টগুলি কোনও আইফ্রেমে লোড করতে কাস্টমাইজ করতে পারেন। আমি টুইটমীম পুনরায় টুইট বোতামটি দিয়ে কীভাবে এটি করব সে সম্পর্কে একটি টিউটোরিয়াল লিখেছিলাম (টুইটার তাদের নিজস্ব পুনঃটুইট বোতাম প্রকাশের পর এখন অপ্রচলিত) তবে এখনও অন্য শেয়ার বোতামে প্রয়োগ করা যেতে পারে।
সার্ভারের পারফরম্যান্সের জন্য অ্যাভিচি ভারী পিএইচপি এবং মাইএসকিউএল উত্তোলন পরিচালনা করে স্ট্যাটিক সামগ্রীর জন্য ফ্রন্ট এন্ড প্রক্সি হিসাবে এনগিনেক্সের দিকে নজর দিন।
যেহেতু কেউই এখনও এটি উল্লেখ করেনি, যে কোনও এলএএমপি সেটআপের সাথে একযোগে সার্ভারের কার্যকারিতা বাড়ানোর জন্য সবচেয়ে গুরুত্বপূর্ণ পদক্ষেপগুলির একটি হ'ল অ্যাপাচি কর্মী থ্রেড এবং মোড_ফসিজিডে স্যুইচ করা।
এটি আমার ভার্চুয়াল ব্যক্তিগত সার্ভারে 500MB মেমরি মুক্ত করেছে।
পেজ লোড টাইম নামে একটি সুন্দর সরল প্লাগইন রয়েছে যা আপনার পৃষ্ঠা ফুটারে টাইমার যুক্ত করে। এটি কোডের কেবল চারটি লাইন:
<?php
function ur_pageload_footer() {
printf(__('Page in %s seconds', 'pageload'), timer_stop());
}
add_action('wp_footer', 'ur_pageload_footer')
তারপর:
আপনার স্প্রেডশীটটির মতো দেখতে কিছুটা হওয়া উচিত
+-------+-------+-------+-------+--------+
| Run 1 | Run 2 | Run 3 | Order | Plugin |
সুতরাং যদি কোনও প্লাগইন নিষ্ক্রিয় করার পরে পৃষ্ঠাটির প্রতিক্রিয়া সময়টি তাত্পর্যপূর্ণভাবে বেড়ে যায় তবে আপনি দেখতে পারেন যে আপনি এই প্লাগইনটি এড়াতে পারবেন কিনা।
আমি দুটি প্লাগইন পেয়েছি যার ফলে 'উল্লেখযোগ্য' ম্যাক্ট্রান্সলেটটি ধীর হয়ে গেছে এবং (বরং পুরানো তবে ভাল) মাল্টি-লেভেল নেভিগেশন প্লাগইন রয়েছে ।
সঙ্গে লাগান W3 মোট ক্যাশে ওয়ার্ডপ্রেস ক্যাশে কার্যকারিতার জন্য প্লাগইন। প্লাগইনের সেটিংস পৃষ্ঠা থেকে পৃষ্ঠা ক্যাচিং এবং ডাটাবেস ক্যাশে সক্ষম করুন। নিশ্চিত করুন যে আপনি 'বিকল্প পিএইচপি ক্যাশে (এপিসি / এপিসিইউ)' ক্যাচিং প্রক্রিয়া হিসাবে বেছে নিয়েছেন। ডাব্লু 3 মোট ক্যাশে কোনও সংশোধন সক্ষম করবেন না কারণ আপনার নিজের সাইটের উপস্থিতি এবং / অথবা কার্যকারিতা ভাঙ্গার অনেক সম্ভাবনা রয়েছে। আমরা এটি ক্লাউডফ্লেয়ারে রেখে দেব।
একবার আপনি প্লাগিনের বাকী সমস্ত কার্যকারিতা কনফিগার করার পরে আপনার ওয়েবসাইটের জন্য ক্লাউডফ্লেয়ার সেট আপ করুন। আপনি 'এক্সটেনশানস' এর অধীনে ডাব্লু 3 মোট ক্যাশে সেটিংসে ক্লাউডফ্লেয়ার সক্ষম করেছেন তা নিশ্চিত করুন।
ক্লাউডফ্লেয়ার একটি কন্টেন্ট ডেলিভারি নেটওয়ার্ক যা আপনার সাইট থেকে সমস্ত স্থিতিশীল বিষয়বস্তু (চিত্র ফাইল, সিএসএস, জেএস, নথি, ইত্যাদি) ক্যাশে করে এবং এটি তাদের দর্শকদের কাছে তাদের গ্লোবাল সার্ভারগুলি থেকে পরিবেশন করে। এটি পৃষ্ঠার লোড বার গতি বাড়িয়ে তুলতে এবং আপনার সার্ভারে লোড কমাতে সহায়তা করতে পারে। ক্লাউডফায়ার দ্বারা ক্যাশে হওয়া ফাইল ধরণের তালিকার জন্য এই তালিকাটি চেকআউট করুন । তাছাড়া ক্লাউডফ্লেয়ারের একটি নিখরচায় পরিকল্পনা রয়েছে।
ক্লাউডফ্লেয়ারে, ক্যাচিং স্তরের মানকে সেট করুন এবং ব্রাউজারের ক্যাশে সমাপ্তি কমপক্ষে 20 ঘন্টারও বেশি কিছুতে সেট করুন। সর্বদা অনলাইন সক্ষম করুন ™ যাতে আপনার সার্ভারটি ডাউন হয়ে গেলেও ক্লাউডফ্লেয়ারগুলি আপনার ওয়েবসাইটের স্থির পৃষ্ঠাগুলি তাদের ক্যাশে থেকে পরিবেশন করবে। এছাড়াও তাদের অটো মিনিফাইফ বৈশিষ্ট্য সক্ষম করুন (মনে রাখবেন কেন আমি আপনাকে মিনিফিকেশন সক্ষম না করতে বলেছিলাম ডাব্লু 3 মোট ক্যাশে? কারণ ক্লাউডফ্লেয়ার এটি আরও ভাল করে!) তারপরে রকেট লোডারকে স্বয়ংক্রিয়ভাবে সেট করুন।
রকেট লোডার কী করে তার একটি অংশ এখানে দেওয়া হয়েছে:
পৃষ্ঠা রেন্ডারিংকে কমিয়ে না দেওয়ার জন্য জাভাস্ক্রিপ্ট ফাইলগুলি এমনকি তৃতীয় পক্ষের সংস্থানগুলি বান্ডিল করে নেটওয়ার্ক অনুরোধের সংখ্যা হ্রাস করা।
তৃতীয় পক্ষের স্ক্রিপ্টগুলি সহ অসম্পূর্ণভাবে স্ক্রিপ্টগুলি লোড করা হচ্ছে, যাতে
তারা আপনার পৃষ্ঠার সামগ্রীটি
তত্ক্ষণাত লোড হতে বাধা দেয় না ।
স্থানীয়ভাবে স্ক্রিপ্টগুলি ক্যাচিং করা (স্থানীয়
ব্রাউজার এবং স্মার্ট ফোনে উপলব্ধ লোকালস্টোরেজ ব্যবহার করে ) যাতে
প্রয়োজন না হলে সেগুলি পুনরায় আনা হয় না ।
যদি সম্ভব হয় তবে ওয়ার্ডপ্রেসের জন্য জেনেসিস ফ্রেমওয়ার্কে স্যুইচ করুন কারণ এগুলি কোনও ফোলা ছাড়াই পরিষ্কার । জেনেসিস গতি এবং এসইও মাথায় রেখে নির্মিত হয়েছিল। আমি নিজে এটি পরীক্ষা করেছি এবং আমার পেজস্পিডের স্কোরগুলি ভাল ছিল। এছাড়াও আপনি যদি জেনেসিস ব্যবহার করছেন তবে ডাব্লু 3 মোট ক্যাশে সেটিংসে টুকরো ক্যাশে সক্ষম করতে ভুলবেন না।
যেহেতু আপনি ক্লাউডফায়ারকে সিডিএন হিসাবে ব্যবহার করছেন, আপনি নিজের ইমেজগুলি সংকুচিত করতে টিংপিএনজি'র মাধ্যমে ' ইমেজাইফাই ' বা ' কমপ্রেস জেপিইজি এবং পিএনজি চিত্রগুলি ' এর মতো প্লাগইন ব্যবহার করতে পারেন । উভয়ই ওয়ার্ডপ্রেস.আর্গ প্লাগইন সংগ্রহস্থলগুলিতে উপলব্ধ বিনামূল্যে প্লাগইন। এছাড়াও, চিত্রশক্তিটি শক্তিশালী ক্ষতিকারক সংক্ষেপণ অ্যালগরিদমকে সমর্থন করে।
অবশেষে, ওয়ার্ডপ্রেস সংগ্রহশালা থেকে ' স্ট্যাটিক রিসোর্স থেকে ক্যুরি স্ট্রিংগুলি সরান ' প্লাগইনটি ইনস্টল করুন যাতে এটি সিএসএস এবং জেএস ফাইলগুলির মতো স্থিতিশীল সংস্থান থেকে ক্যোয়ারী স্ট্রিংগুলি সরিয়ে দেয়। এটি কারণ যে URL এ "?" বা "&" যুক্ত সংস্থানগুলি কিছু প্রক্সি ক্যাশে সার্ভারগুলি ক্যাশে করে না (মনে রাখবেন, ক্লাউডফ্লেয়ারও প্রক্সি ক্যাশে সার্ভার) is
তারপরে ' গুগল লাইব্রেরি ব্যবহার করুন ' প্লাগইন ইনস্টল করুন । এই প্লাগইনটি আপনার ওয়ার্ডপ্রেস সাইটটিকে সরাসরি আপনার ওয়ার্ডপ্রেস ইনস্টল থেকে এই ফাইলগুলি পরিবেশন করার চেয়ে গুগলের এজেএক্স লাইব্রেরি এপিডি সিডিএন ব্যবহার করার অনুমতি দেয়।
কিছু সুবিধা রয়েছে:
সর্বশেষে তবে সর্বনিম্ন নয়, আপনার ডেটাবেস সাফ ও অপ্টিমাইজ করতে রুহানী রাবিনের ' ডাব্লুপি-অপ্টিমাইজ ' প্লাগইনটি ব্যবহার করুন ।
আশা করি সার্ভারের লোড কমাতে ওয়ার্ডপ্রেস অনুকূলকরণের ক্ষেত্রে এটি আপনার প্রশ্নের উত্তর দেয়।