پوهه د پرافیټ سرور خدمت سره د کار کولو لپاره ساده لارښوونې
اصلي پوهه د سرور بار کمول

د سرور بار کمول


په دې مقاله کې، موږ به په دې اړه بحث وکړو چې ولې د سرور بار زیاتیږي او د لوړ بار پروسو د اصلاح کولو لپاره په مختلفو لارو بحث کوو. په اپاچي/نګینکس او مای ایس کیو ایل کې د کوډ اصلاح کولو ته به ځانګړې پاملرنه وشي، موږ به د مرستندویه وسیلې په توګه د کیش کولو په اړه وغږیږو، او همدارنګه به د احتمالي بهرني ګواښونو، لکه د DDOS بریدونو، او د هغوی د مخنیوي لارو په اړه غور وکړو.

ولې د سرور بار پیښیږي

د سرور اصلاح کولو ته د تګ دمخه، دا اړینه ده چې د سرچینو په اړه د اوسني بار بشپړ تحلیل ترسره شي. پدې کې د CPU بار، د RAM کارول، د شبکې فعالیت، او نورو کلیدي پیرامیټرو اندازه کول شامل دي. د متحرکاتو او لوړ بارونو پوهیدل د خنډونو پیژندلو او د سرچینو تخصیص غوره کولو ته اجازه ورکوي، پدې توګه د سرور زیربنا ثبات او فعالیت زیاتوي.

د لوړ سرور بار د لومړني ستونزې حل کولو لپاره، موږ سپارښتنه کوو چې ترسره کړو د سرور عمومي تشخیصات. که دا کافي نه وي، نو یو ډیر مفصل د سرچینو تحلیل اړین دی. د مرستندویه وسیلې په توګه، سپړنه د لینوکس لاګونه سرور ګټور کیدی شي، ځکه چې دا هغه ځای دی چې په ډیری قضیو کې د ستونزې سرچینه موندل کیږي.

د اپاچي/نګینکس سرور اصلاح کول

د انډیکس کولو له امله د سرور بار زیات شوی

د سرور په انډیکس کولو سره د بار زیاتوالی رامینځته کیدی شي، د مثال په توګه، کله چې د لټون انجنونه ستاسو په سایټ کې ډیری پاڼې سکین کوي. دا کولی شي د سرور سرچینو ډیر کارونې لامل شي او په پایله کې، د سایټ فعالیت ورو کړي. د لامل پیژندل نسبتا ساده دي؛ تاسو اړتیا لرئ هغه فایل خلاص کړئ چې موقعیت لري:

/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 لپاره - پخوانی.

په اپاپي سرور، تاسو اړتیا لرئ چې خلاص کړئ .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 په اپاچي او نګینکس ویب سرورونو کې د سرور او مراجعینو ترمنځ د لیږدول شوي معلوماتو مقدار کمولو کې مرسته کوي، کوم چې فعالیت ښه کوي او د ویب پاڼې د بارولو وخت کموي.

د وړولو لپاره Gzip on اپاپي، تاسو اړتیا لرئ چې فعال کړئ 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;

ورته ورته اپاپي، دلته د ځانګړو ډولونو فایلونو لپاره د کمپریشن پیرامیټرې تنظیم شوي دي. د هر ویب سرور کې د بدلونونو وروسته، د خدماتو بیا بارولو ته اړتیا ده:

sudo service apache2 restart

Or

sudo service nginx restart

په سرور باندې د DDOS برید

د سرور لوړ بار د DDoS برید په پایله کې رامینځته کیدی شي. د DDoS برید شتون پیژندل د ټرافیک ناڅاپي زیاتوالي، غیر معمولي غوښتنو، او د سرور فعالیت کمیدو څارنې له لارې ترسره کیدی شي. د یو IP پتې یا پورټ سکین کولو څخه د تکرار غوښتنو لپاره د لاګونو بیاکتنه هم کولی شي د DDoS احتمالي برید په ګوته کړي. ډیری محافظتي تدابیر شتون لري، مګر موږ به یوازې د اساساتو په اړه بحث وکړو.

د CDN (د منځپانګې رسولو شبکه) کارول. CDN کولی شي ستاسو د ویب سرور او کاروونکو ترمنځ د منځګړي په توګه کار وکړي، د DDoS برید اغیز کمولو لپاره ټرافیک او کیش کول مینځپانګه توزیع کوي. CDN کولی شي د DDoS محافظت میکانیزمونه هم ولري، پشمول د بار ویش او ټرافیک فلټر کول.

د اور وژنې او د مداخلې کشف سیسټمونو (IDS/IPS) تنظیم کول. د فایر والونه د مختلفو معیارونو، لکه IP پتې او پورټونو پر بنسټ د ټرافیک فلټر کولو لپاره تنظیم کیدی شي. IDS/IPS کولی شي غیر معمولي ټرافیک چلند کشف کړي او شکمن اړیکې بندې کړي. دا وسایل کولی شي د احتمالي ناوړه ټرافیک تعقیب او بندولو کې اغیزمن وي.

د DDoS بریدونو اغیز کمولو لپاره د اپاچي او نګینکس ویب سرورونو تنظیم کول.

د اپاچي لپاره د حل په توګه، موږ فعالوو 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>

د دې لپاره ترتیب نګینکس ورته ورته دی اپاپي. په 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 ډیټابیس پوښتنو اصلاح کول په مختلفو لارو ترلاسه کیدی شي، او یو یې د ترتیب فایل مناسب ترتیب دی. معمولا، دا فایل نومول شوی my.cnf 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 کول شرایط.
  3. له کارولو ډډه وکړئ انتخاب *. یوازې هغه ستنې مشخص کړئ چې ستاسو د پوښتنې لپاره واقعیا اړین دي، د دې پرځای چې په جدول کې ټول ستنې غوره کړئ.
  4. د دندو کارولو څخه ډډه وکړئ کله چې شرایط. د دندو کارول (لکه ښکته, اپر, LEFT, حق) په کله چې شرایط کولی شي شاخصونه بې ګټې کړي. هڅه وکړئ چې په شرایطو کې د دوی مستقیم کارولو څخه مخنیوی وکړئ.
  5. کارول دننه شامل شئ چیرته چې امکان ولري، ځکه چې دا معمولا ډیر اغیزمن وي. همدارنګه، ډاډ ترلاسه کړئ چې د یوځای کیدو لپاره اړونده ستنې شاخصونه لري.
  6. کارول حد که تاسو اړتیا لرئ چې یوازې یو ټاکلی شمیر پایلې ترلاسه کړئ، د بیرته راستنیدونکو قطارونو شمیر محدود کړئ.
  7. د سرور بار کمولو لپاره د پوښتنو پایلو د کیش کولو په اړه فکر وکړئ، په ځانګړې توګه که چیرې دوی په ندرت سره بدلون ومومي.

د برېښنالیک سرور په سرور کې لوړ بار رامینځته کوي

پدې برخه کې، موږ به وپلټو چې څنګه معلومه کړو چې د بریښنالیک سرور لوړ بار تجربه کوي او د دې د فعالیت د ښه کولو لپاره کوم ګامونه اخیستل کیدی شي، په شمول د پیغام قطار چک کول او د سرور پیرامیټرې تنظیم کول. د پیغام قطار چک کولو سره پیل وکړئ. میلق یوټیلټي کولی شي پدې کې مرسته وکړي، د دې فعالولو لپاره، په ټرمینل کې اړونده کمانډ دننه کړئ:

mailq

دا به په کتار کې د پیغامونو لیست ښکاره کړي، که چیرې وي. هر پیغام به د خپل ځانګړي پیژندونکي او د لیږلو حالت په اړه معلوماتو سره ښکاره شي. ورته پایله د بریښنالیک مراجعینو لاګونو بیاکتنې سره ترلاسه کیدی شي.

په ډیری مواردو کې، د سرور د خرابیدو په صورت کې لوړ بار رامینځته کیږي کله چې دا سپیم لیږل پیل کوي. په هرصورت، که چیرې د چک کولو وروسته مدیر ډاډه وي چې سرور له بهر څخه برید شوی نه دی او کاروونکي سپیم ته پام نه کوي، نو دا وخت دی چې د بریښنالیک سرور اصلاح کولو ته لاړ شئ. دلته هغه ګامونه دي چې مرسته به وکړي:

  1. ډاډ ترلاسه کړئ چې ستاسو د ډومین DNS ریکارډونه په سمه توګه تنظیم شوي، په شمول د مک, DKIM، او DMARC د بریښنالیک رسولو ښه کولو او د سپیم څخه د ساتنې لپاره ریکارډونه. د پیرامیټرو سمه ترتیب په مقاله کې موندل کیدی شي د برېښناليک سرور تشخيصونه.
  2. د شبکې ترتیبات وګورئ، په شمول د فایر وال ترتیب او روټینګ قواعد، ترڅو د بلاکونو څخه مخنیوی وشي او د بریښنالیک رسولو سرعت زیات شي.
  3. د سرور بار سره سم د پیغام قطار پیرامیټرې تنظیم کړئ. پدې کې ممکن د قطار اعظمي اندازه او وخت پای ته رسیدل شامل وي.
  4. هغه حل لارې په پام کې ونیسئ چې موږ یې په دې مقاله کې مخکې بحث کړی و. د فعالیت ښه کولو لپاره په دوره یي ډول د میل سرور ډیټابیس غوره کړئ، د معلوماتو لټون او پروسس کولو ګړندي کولو لپاره د کیش کولو میکانیزمونه وکاروئ، لکه د DNS پوښتنې.
  5. که چیرې د بریښنالیک سرور لاهم په منظم ډول د لوړ بار سره مخ شي، د اندازه کولو اختیارونه په پام کې ونیسئ، لکه د بریښنالیک سرورونو کلستر یا کلاوډ حلونه کارول.

پایله

د سرور بار زیاتیدل په مستقیم ډول د ویب پاڼې د بارولو سرعت اغیزه کوي، چې په نهایت کې د کاروونکي تجربه او د لټون انجنونو کې شهرت اغیزه کوي. په دې توګه، د دې بار په مؤثره توګه اداره کول د سرچینې دوامداره فعالیت ډاډمن کولو او د لیدونکو لپاره د هغې لاسرسي زیاتولو کې کلیدي رول لوبوي.

❮ مخکینۍ مقاله د سرور بار تشخیصات
راتلونکې مقاله ❯ سرټ بوټ: د راځئ چې د سند انکرپټ نصب کول

د VPS په اړه له موږ څخه پوښتنه وکړئ

موږ تل چمتو یو چې ستاسو پوښتنو ته د ورځې یا شپې په هر وخت کې ځواب ووایو.