معلومات جي بنياد تي پرافٽ سرور سروس سان ڪم ڪرڻ لاءِ سادي هدايتون
مک معلومات جي بنياد تي سرور لوڊ گهٽائڻ

سرور لوڊ گهٽائڻ


هن آرٽيڪل ۾، اسين سرور لوڊ ۾ واڌ ڇو ٿيندي آهي ان تي غور ڪنداسين ۽ هاءِ لوڊ عملن کي بهتر بڻائڻ جي مختلف طريقن تي بحث ڪنداسين. Apache/Nginx ۽ MySQL ۾ ڪوڊ آپٽمائيزيشن تي خاص ڌيان ڏنو ويندو، اسين ڪيشنگ کي هڪ معاون اوزار طور ڳالهائينداسين، ۽ ممڪن ٻاهرين خطرن، جهڙوڪ DDOS حملا، ۽ انهن کي روڪڻ جا طريقا پڻ غور ڪنداسين.

سرور لوڊ ڇو ٿئي ٿو

سرور جي اصلاح ڏانهن اڳتي وڌڻ کان اڳ، وسيلن تي موجوده لوڊ جو مڪمل تجزيو ڪرڻ ضروري آهي. ان ۾ سي پي يو لوڊ، رام استعمال، نيٽ ورڪ سرگرمي، ۽ ٻيا اهم پيرا ميٽرز کي ماپڻ شامل آهن. ڊائنامڪس ۽ چوٽي لوڊ کي سمجهڻ سان رڪاوٽن جي سڃاڻپ ۽ وسيلن جي مختص کي بهتر ڪرڻ جي اجازت ملندي آهي، انهي ڪري سرور انفراسٽرڪچر جي استحڪام ۽ ڪارڪردگي ۾ اضافو ٿيندو آهي.

سرور تي لوڊ جي شروعاتي خرابي جي حل لاءِ، اسان سفارش ڪريون ٿا ته هڪ جنرل سرور تشخيص. جيڪڏهن هي ڪافي نه آهي، ته وڌيڪ تفصيلي وسيلن جو تجزيو ضروري آهي. هڪ معاون اوزار جي طور تي، ڳولا ڪرڻ لينڪس جا لاگ سرور مددگار ثابت ٿي سگهي ٿو، ڇاڪاڻ ته اڪثر ڪيسن ۾ مسئلي جو ذريعو هتي ئي ملي ٿو.

اپاچي/نينگڪس سرور کي بهتر بنائڻ

انڊيڪسنگ جي ڪري سرور لوڊ وڌي ويو

سرور تي انڊيڪسنگ جي ڪري لوڊ ۾ اضافو ٿي سگهي ٿو، مثال طور، جڏهن سرچ انجن توهان جي سائيٽ تي وڏي تعداد ۾ صفحن کي اسڪين ڪن ٿا. اهو سرور وسيلن جي استعمال ۾ اضافو ڪري سگهي ٿو ۽ نتيجي طور، سائيٽ جي ڪارڪردگي کي سست ڪري سگهي ٿو. سبب جي سڃاڻپ نسبتا سادو آهي؛ توهان کي هيٺ ڏنل فائل کولڻ جي ضرورت آهي:

/var/www/httpd-logs/sitename.access.log

جڏهن سرچ انجن پاران انڊيڪس ڪيو ويندو، ته صارف هيٺ ڏنل نوعيت جون داخلائون ڏسندو:

11.22.33.44 - - [Date and Time] "GET /your-page-path HTTP/1.1" 200 1234 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"

لوڊ گهٽائڻ جي پهرين حل جي طور تي، توهان ميٽا ٽيگ جي سيٽنگ استعمال ڪري سگهو ٿا "ڪو به انڊيڪس" ۽ "نو فالو" انهن صفحن تي جن کي انڊيڪس ڪرڻ جي ضرورت ناهي. ٻيو حل آهي .htaccess فائل، جتي مخصوص سرچ انجن سان لاڳاپيل داخلائون شامل ڪرڻ گهرجن، مثال طور، Yandex ۽ گوگل کان لڪائڻ لاءِ:

SetEnvIfNoCase User-Agent "^Yandex" search_bot
SetEnvIfNoCase User-Agent "^Googlebot" search_bot
Order Allow,Deny
Allow from all
Deny from env=search_bot

ساڳئي طرح، ٻين سرچ انجن لاءِ تبديليون ڪرڻ جي ضرورت آهي. اهو ياد رکڻ گهرجي ته .htaccess جون صلاحيتون صرف بلاڪنگ انڊيڪسنگ تائين محدود نه آهن. اسان سفارش ڪريون ٿا ته ان جي مکيه خاصيتن سان وڌيڪ واقف ٿيو مضمون.

ڪيشنگ سيٽنگون استعمال ڪندي

سرور تي غلط ڪيشنگ سيٽنگون پڻ وڌيڪ لوڊ جو سبب بڻجي سگهن ٿيون. هن پيرا ميٽر کي بهتر ڪرڻ لاءِ، ترتيب فائلن ۾ لاڳاپيل تبديليون ڪرڻ گهرجن يا .htaccess. اپاچي جي صورت ۾، پوئين آپشن ترجيحي آهي، Nginx لاءِ - پهريون.

هڪ تي Apache سرور، توهان کي کولڻ جي ضرورت آهي .htacess فائل ۽ هيٺ ڏنل ڪوڊ داخل ڪريو:

<FilesMatch ".(flv|gif|jpg|jpeg|png|ico|swf|js|css|pdf|doc|docx)$">
Header set Cache-Control "max-age=2592000"
</FilesMatch>

پوء، فعال ڪريو ختم ٿئي ٿو حڪم استعمال ڪندي ماڊل:

sudo a2enmod expires

جنهن کان پوءِ، ويب سرور کي ٻيهر شروع ڪريو:

sudo service apache2 restart

۽ وضاحت ڪندي ماڊيول کي چالو ڪريو:

ExpiresActive On

تي نينڪس سرور، هيٺ ڏنل ڪوڊ کي ترتيب واري فائل ۾ شامل ڪرڻ ڪافي آهي:

location ~* .(jpg|jpeg|gif|png|ico|css|swf|flv|doc|docx)$ {
root /var/www/yoursite.com;
}

۽ هڪ سروس ٻيهر لوڊ ڪريو:

sudo service nginx restart

نوٽ ڪريو ته انهن سيٽنگن سان، جي اجازت ۽ انڪار هدايتن کي نظرانداز ڪيو ويندو.

ڊيٽا ڪمپريشن استعمال ڪندي

ڊيٽا ڪمپريشن کي فعال ڪندي Gzip Apache ۽ Nginx ويب سرورز تي سرور ۽ ڪلائنٽ جي وچ ۾ منتقل ٿيندڙ ڊيٽا جي مقدار کي گهٽائڻ ۾ مدد ڪري ٿي، جيڪا ڪارڪردگي کي بهتر بڻائي ٿي ۽ ويب پيج لوڊ ٿيڻ جو وقت گهٽائي ٿي.

اهل ڪرڻ Gzip on Apache، توهان کي چالو ڪرڻ جي ضرورت آهي mod_deflate ماڊل:

sudo a2enmod deflate

پوءِ، ويب سرور کي ٻيهر شروع ڪريو:

sudo service apache2 restart

۽ آخر ۾، هيٺ ڏنل بلاڪ کي ڪنفگريشن فائل يا .htaccess ۾ شامل ڪريو:

<IfModule mod_deflate.c>
# Configure compression for specified file types
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/javascript application/x-javascript application/json

# If the browser matches the specified pattern, apply compression only to text/html files
BrowserMatch ^Mozilla/4 gzip-only-text/html

# If the browser matches the specified version patterns of Mozilla 4.0.6, 4.0.7, 4.0.8, disable compression
BrowserMatch ^Mozilla/4\.0[678] no-gzip

# If the browser is MSIE (Internet Explorer), disable compression for all files except text/html
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html

# If the request contains the specified pattern (extensions of image files), disable compression
SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip
</IfModule>

هي ترتيب ڪجهه قسمن جي فائلن لاءِ ڪمپريشن کي فعال ڪري ٿي ۽ تصويرن لاءِ ان کي غير فعال ڪري ٿي.

جي صورت ۾ نينڪس، ترتيب ۾ ٿيندي آهي http ترتيب واري فائل جو بلاڪ. هيٺ ڏنل ڪوڊ شامل ڪرڻ جي ضرورت آهي:

gzip on;
gzip_disable "msie6";

# Adds the Vary header, indicating that the response may change depending on the Accept-Encoding header value
gzip_vary on;

# Enables compression for any proxy servers
gzip_proxied any;

# Sets the compression level. A value of 6 provides a good balance between compression efficiency and resource use
gzip_comp_level 6;

# Sets the size of the buffer for compressed data (16 buffers of 8 kilobytes each)
gzip_buffers 16 8k;

# Specifies that data compression should be used only for HTTP version 1.1 and higher
gzip_http_version 1.1;

# Sets the file types that can be compressed
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;

جهڙو Apache، هتي ڪجهه قسمن جي فائلن لاءِ ڪمپريشن پيرا ميٽر مقرر ڪيا ويا آهن. ڪنهن به ويب سرور ۾ تبديليون ڪرڻ کان پوءِ، سروس ري لوڊ ڪرڻ جي ضرورت آهي:

sudo service apache2 restart

Or

sudo service nginx restart

سرور تي DDOS حملو

DDoS حملي جي نتيجي ۾ سرور تي وڌيڪ لوڊ ٿي سگهي ٿو. DDoS حملي جي موجودگي جي سڃاڻپ ٽرئفڪ ۾ اوچتو واڌ، غير معمولي درخواستن، ۽ سرور جي ڪارڪردگي ۾ گهٽتائي جي نگراني ذريعي ڪري سگهجي ٿي. هڪ IP پتي يا پورٽ اسڪيننگ مان بار بار درخواستن لاءِ لاگ جو جائزو وٺڻ پڻ ممڪن DDoS حملي جي نشاندهي ڪري سگهي ٿو. ڪيترائي حفاظتي اپاءَ آهن، پر اسان صرف بنيادي ڳالهين تي بحث ڪنداسين.

سي ڊي اين (ڪنٽينٽ ڊليوري نيٽ ورڪ) استعمال ڪندي. هڪ CDN توهان جي ويب سرور ۽ استعمال ڪندڙن جي وچ ۾ هڪ وچولي طور ڪم ڪري سگهي ٿو، ٽرئفڪ ورهائي ٿو ۽ مواد کي ڪيش ڪري ٿو ته جيئن DDoS حملي جي اثر کي گهٽائي سگهجي. CDN ۾ بلٽ ان DDoS تحفظ جا طريقا پڻ ٿي سگهن ٿا، جن ۾ لوڊ ورهائڻ ۽ ٽرئفڪ فلٽرنگ شامل آهن.

فائر والز ۽ انٽروجن ڊيٽيڪشن سسٽم (IDS/IPS) کي ترتيب ڏيڻ. فائر والز کي مختلف معيارن جي بنياد تي ٽرئفڪ کي فلٽر ڪرڻ لاءِ ترتيب ڏئي سگهجي ٿو، جهڙوڪ IP پتي ۽ پورٽ. IDS/IPS غير معمولي ٽرئفڪ رويي کي ڳولي سگهن ٿا ۽ مشڪوڪ ڪنيڪشن کي بلاڪ ڪري سگهن ٿا. اهي اوزار ممڪن طور تي خراب ٽرئفڪ کي ٽريڪ ڪرڻ ۽ بلاڪ ڪرڻ ۾ اثرائتو ٿي سگهن ٿا.

DDoS حملن جي اثر کي گهٽائڻ لاءِ Apache ۽ Nginx ويب سرورز کي ترتيب ڏيڻ.

اپاچي جي حل جي طور تي، اسان فعال ڪريون ٿا mod_evasive ماڊيول. ائين ڪرڻ لاءِ، تبصرو نه ڪريو يا هيٺ ڏنل لائن شامل ڪريو httpd.conf or apache2.conf تشڪيل واري فائيل:

LoadModule evasive20_module modules/mod_evasive.so

ساڳئي فائل ۾، توهان کي سيٽنگون بلاڪ شامل ڪرڻ جي ضرورت آهي:

<IfModule mod_evasive20.c>
# Hash table size for storing request information
DOSHashTableSize 3097

# Number of requests to one page before activating protection
DOSPageCount 2
DOSPageInterval 1

# Number of requests to all pages before activating protection
DOSSiteCount 50
DOSSiteInterval 1

# Blocking period in seconds for IP addresses
DOSBlockingPeriod 10
</IfModule>

ساڳئي طرح، اسين چالو ڪريون ٿا موڊ_ريٽيلمٽ ماڊل:

LoadModule ratelimit_module modules/mod_ratelimit.so

۽ ترتيب شامل ڪريو:

<IfModule mod_ratelimit.c>
# Setting the output filter for rate limiting (Rate Limit)
SetOutputFilter RATE_LIMIT

# Beginning of the settings block for the location "/login"
<Location "/login">

# Setting the environment variable rate-limit with a value of 1
SetEnv rate-limit 1

# Ending of the settings block for the location "/login"
</Location>
</IfModule>

لاءِ ترتيب نينڪس ساڳيو آهي Apache. ۾ nginx.conf ترتيب واري فائل ۾، هيٺين هدايتن کي استعمال ڪرڻ جي ضرورت آهي:

http {
...
# Defining a zone for connection limits
limit_conn_zone $binary_remote_addr zone=addr:10m;

# Defining a zone for request limits
limit_req_zone $binary_remote_addr zone=req_zone:10m rate=1r/s;

server {
        ...
        # Configuring connection limits
        limit_conn addr 10;

        # Configuring request limits
        limit_req zone=req_zone burst=5;

        ...
    }
}

هر هڪ سروس ۾ تبديليون ڪرڻ کان پوءِ، انهن کي ٻيهر لوڊ ڪرڻ جي ضرورت آهي:

sudo systemctl restart apache2

يا:

sudo systemctl restart nginx

اهي مثال صرف هڪ بنيادي ترتيب فراهم ڪن ٿا، جنهن کي مخصوص گهرجن ۽ حملن جي نوعيت جي لحاظ کان وڌيڪ ترتيب ڏئي سگهجي ٿو.

MySQL سوالن کي بهتر بڻائڻ

ويب سرور تي MySQL ڊيٽابيس سوالن کي بهتر بڻائڻ مختلف طريقن سان حاصل ڪري سگهجي ٿو، ۽ انهن مان هڪ ترتيب فائل جي صحيح ترتيب آهي. عام طور تي، هن فائل جو نالو منهنجو. سي اين ايف or my.ini ۽ ۾ واقع آهي / وغيره / or /وغيره/مائي ايس ڪيو ايل/ ڊاريڪٽري. توهان کي ان کي کولڻ ۽ هيٺيون تبديليون ڪرڻ جي ضرورت آهي:

[mysqld]
# Location of the file for recording slow queries. Be sure to replace it with your path
log-slow-queries = /var/log/mariadb/slow_queries.log

# Threshold time for considering slow queries (in seconds)
long_query_time = 5

# Enabling recording of queries that do not use indexes
log-queries-not-using-indexes = 1

# Disabling query caching
query_cache_size = 0
query_cache_type = 0
query_cache_limit = 1M

# Size of temporary tables
tmp_table_size = 16M
max_heap_table_size = 16M

# Size of the thread cache
thread_cache_size = 16

# Disabling name resolving
skip-name-resolve = 1

# Size of the InnoDB buffer pool. Set to 50-70% of available RAM
innodb_buffer_pool_size = 800M

# Size of the InnoDB log file
innodb_log_file_size = 200M

اچو ته اضافي سفارشن تي پڻ غور ڪريون جيڪي سرور ڊيٽابيس سان رابطي کي آسان بڻائي سگهن ٿيون:

  1. استعمال وضاحت ڪريو SQL سوال کان اڳ حڪم ڏيو ته جيئن ان جي عملدرآمد جو تجزيو ڪري سگهجي. هي توهان کي سوال لاءِ هڪ عملدرآمد پلان حاصل ڪرڻ ۽ اهو طئي ڪرڻ جي اجازت ڏئي ٿو ته ڪهڙا انڊيڪس استعمال ڪيا وڃن، ڪهڙا ٽيبل اسڪين ڪيا وڃن، وغيره.
  2. انڊيڪس ڊيٽا جي ڳولا کي تيز ڪن ٿا، تنهنڪري صحيح طرح سان ٺهيل انڊيڪس سوال جي ڪارڪردگي کي بهتر بڻائي سگهن ٿا. ڪالمن تي ڌيان ڏيو جيڪي اڪثر استعمال ڪيا ويندا آهن جڏهن or JOIN حالتون.
  3. استعمال ڪرڻ کان بچڻ چونڊيو *. ٽيبل ۾ سڀني ڪالمن کي چونڊڻ جي بدران، صرف انهن ڪالمن کي بيان ڪريو جيڪي توهان جي سوال لاءِ واقعي ضروري آهن.
  4. ۾ افعال استعمال ڪرڻ کان پاسو ڪريو جڏهن حالتون. افعال استعمال ڪرڻ (جهڙوڪ گهٽ, مٿاهون, کاٻو, ساڄو۾ جڏهن حالتون انڊيڪس کي بيڪار بڻائي سگهن ٿيون. حالتن ۾ انهن جي سڌي استعمال کان بچڻ جي ڪوشش ڪريو.
  5. استعمال انٽرويو JOIN جتي ممڪن هجي، ڇاڪاڻ ته اهو عام طور تي وڌيڪ ڪارآمد هوندو آهي. انهي سان گڏ، پڪ ڪريو ته شامل ٿيڻ لاءِ لاڳاپيل ڪالمن ۾ انڊيڪس آهن.
  6. استعمال حد جيڪڏهن توهان کي صرف ڪجهه خاص نتيجا حاصل ڪرڻ جي ضرورت آهي ته واپس ڪيل قطارن جي تعداد کي محدود ڪرڻ لاءِ.
  7. سرور لوڊ گهٽائڻ لاءِ، سوال جي نتيجن کي ڪيش ڪرڻ تي غور ڪريو، خاص طور تي جيڪڏهن اهي گهٽ ۾ گهٽ تبديل ٿين ٿا.

ميل سرور سرور تي هاءِ لوڊ ٺاهي ٿو

هن حصي ۾، اسين ڳولا ڪنداسين ته ڪيئن طئي ڪجي ته ميل سرور تي گهڻي لوڊ ٿي رهيو آهي ۽ ان جي آپريشن کي بهتر بڻائڻ لاءِ ڪهڙا قدم کڻي سگهجن ٿا، جنهن ۾ پيغام جي قطار کي جانچڻ ۽ سرور جي پيرا ميٽرز کي ترتيب ڏيڻ شامل آهن. پيغام جي قطار کي جانچڻ سان شروع ڪريو. ميل ڪيو يوٽيليٽي هن ۾ مدد ڪري سگهي ٿي، ان کي چالو ڪرڻ لاءِ، ٽرمينل ۾ لاڳاپيل ڪمانڊ داخل ڪريو:

mailq

هي قطار ۾ پيغامن جي هڪ فهرست ڏيکاريندو، جيڪڏهن ڪو هجي. هر پيغام ان جي منفرد سڃاڻپ ڪندڙ ۽ موڪلڻ جي حيثيت بابت معلومات سان ڏيکاريو ويندو. ميل ڪلائنٽ لاگز جو جائزو وٺڻ سان ساڳيو نتيجو حاصل ڪري سگهجي ٿو.

گھڻن ڪيسن ۾، سرور جي خراب ٿيڻ جي صورت ۾ وڌيڪ لوڊ ٿئي ٿو جڏهن اهو اسپام موڪلڻ شروع ڪري ٿو. بهرحال، جيڪڏهن چيڪ ڪرڻ کان پوءِ ايڊمنسٽريٽر کي يقين آهي ته سرور تي ٻاهران حملو نه ڪيو ويو آهي ۽ استعمال ڪندڙ اسپام کي نظرانداز نه ڪري رهيا آهن، ته اهو وقت آهي ته ميل سرور کي بهتر بڻائڻ لاءِ اڳتي وڌو وڃي. هتي اهي قدم آهن جيڪي مدد ڪندا:

  1. پڪ ڪريو ته توهان جي ڊومين جا DNS ريڪارڊ صحيح طرح سان ترتيب ڏنل آهن، بشمول ايس اي ايف, ڊي آءِ ايم ايم، ۽ ڊي ايم آر سي ميل پهچائڻ کي بهتر بڻائڻ ۽ اسپام کان بچائڻ لاءِ رڪارڊ. پيرا ميٽرز جي صحيح ترتيب مضمون ۾ ملي سگهي ٿي ميل سرور جي تشخيص.
  2. بلاڪ کان بچڻ ۽ ميل پهچائڻ کي تيز ڪرڻ لاءِ نيٽ ورڪ سيٽنگون چيڪ ڪريو، جن ۾ فائر وال ترتيب ۽ روٽنگ قاعدا شامل آهن.
  3. سرور لوڊ جي مطابق پيغام جي قطار جي پيرا ميٽرز کي ترتيب ڏيو. ان ۾ وڌ ۾ وڌ قطار جي سائيز ۽ ٽائم آئوٽ سيٽنگ شامل ٿي سگھي ٿي.
  4. هن مضمون ۾ اڳ ۾ بحث ڪيل حلن تي غور ڪريو. ڪارڪردگي بهتر ڪرڻ لاءِ ميل سرور ڊيٽابيس کي وقتي طور تي بهتر بڻايو، ڊيٽا جي ڳولا ۽ پروسيسنگ کي تيز ڪرڻ لاءِ ڪيشنگ ميڪانيزم استعمال ڪريو، جهڙوڪ DNS سوال.
  5. جيڪڏهن ميل سرور اڃا تائين باقاعدي طور تي وڌيڪ لوڊ کي منهن ڏئي ٿو، ته اسڪيلنگ آپشنز تي غور ڪريو، جهڙوڪ ميل سرورز جي ڪلسٽر يا ڪلائوڊ حل استعمال ڪرڻ.

ٿڪل

سرور لوڊ ۾ واڌ سڌو سنئون ويب سائيٽ جي لوڊ ٿيڻ جي رفتار کي متاثر ڪري ٿي، آخرڪار سرچ انجن ۾ صارف جي تجربي ۽ شهرت کي متاثر ڪري ٿي. ان ڪري، هن لوڊ کي مؤثر طريقي سان منظم ڪرڻ وسيلن جي مسلسل ڪارڪردگي کي يقيني بڻائڻ ۽ سياحن لاءِ ان جي رسائي کي وڌائڻ ۾ اهم ڪردار ادا ڪري ٿو.

❮ پوئين مضمون سرور لوڊ تشخيص
ايندڙ مضمون ❯ سرٽ بوٽ: اچو ته انڪرپٽ سرٽيفڪيٽ انسٽال ڪرڻ

اسان کان VPS بابت پڇو

اسين ڏينهن يا رات جي ڪنهن به وقت توهان جي سوالن جا جواب ڏيڻ لاءِ هميشه تيار آهيون.