Knowledgebase ਪ੍ਰੋਫਿਟਸਰਵਰ ਸੇਵਾ ਨਾਲ ਕੰਮ ਕਰਨ ਲਈ ਸਧਾਰਨ ਨਿਰਦੇਸ਼
ਮੁੱਖ Knowledgebase ਸਰਵਰ ਲੋਡ ਘਟਾਉਣਾ

ਸਰਵਰ ਲੋਡ ਘਟਾਉਣਾ


ਇਸ ਲੇਖ ਵਿੱਚ, ਅਸੀਂ ਇਸ ਗੱਲ ਦੀ ਡੂੰਘਾਈ ਨਾਲ ਜਾਂਚ ਕਰਾਂਗੇ ਕਿ ਸਰਵਰ ਲੋਡ ਕਿਉਂ ਵਧਦਾ ਹੈ ਅਤੇ ਹਾਈ-ਲੋਡ ਪ੍ਰਕਿਰਿਆਵਾਂ ਨੂੰ ਅਨੁਕੂਲ ਬਣਾਉਣ ਦੇ ਵੱਖ-ਵੱਖ ਤਰੀਕਿਆਂ 'ਤੇ ਚਰਚਾ ਕਰਾਂਗੇ। Apache/Nginx ਅਤੇ MySQL ਵਿੱਚ ਕੋਡ ਅਨੁਕੂਲਨ 'ਤੇ ਵਿਸ਼ੇਸ਼ ਧਿਆਨ ਦਿੱਤਾ ਜਾਵੇਗਾ, ਅਸੀਂ ਇੱਕ ਸਹਾਇਕ ਟੂਲ ਵਜੋਂ ਕੈਸ਼ਿੰਗ ਬਾਰੇ ਗੱਲ ਕਰਾਂਗੇ, ਅਤੇ 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)"

ਲੋਡ ਘਟਾਉਣ ਦੇ ਪਹਿਲੇ ਹੱਲ ਵਜੋਂ, ਤੁਸੀਂ ਉਹਨਾਂ ਪੰਨਿਆਂ 'ਤੇ ਮੈਟਾ ਟੈਗ "noindex" ਅਤੇ "nofollow" ਦੀ ਸੈਟਿੰਗ ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦੇ ਹੋ ਜਿਨ੍ਹਾਂ ਨੂੰ ਇੰਡੈਕਸ ਕਰਨ ਦੀ ਲੋੜ ਨਹੀਂ ਹੈ। ਦੂਜਾ ਹੱਲ .htaccess ਫਾਈਲ ਹੈ, ਜਿੱਥੇ ਖਾਸ ਖੋਜ ਇੰਜਣਾਂ ਨਾਲ ਸੰਬੰਧਿਤ ਐਂਟਰੀਆਂ ਜੋੜਨ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ, ਉਦਾਹਰਨ ਲਈ, Yandex ਅਤੇ Google ਤੋਂ ਲੁਕਾਉਣ ਲਈ:

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 ਵਿੱਚ ਅਨੁਸਾਰੀ ਬਦਲਾਅ ਕਰਨ ਦੀ ਲੋੜ ਹੈ । Apache ਦੇ ਮਾਮਲੇ ਵਿੱਚ, 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

ਇੱਕ Nginx ਸਰਵਰ ਤੇ , ਸੰਰਚਨਾ ਫਾਈਲ ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਕੋਡ ਨੂੰ ਜੋੜਨਾ ਕਾਫ਼ੀ ਹੈ:

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

ਅਤੇ ਇੱਕ ਸੇਵਾ ਰੀਲੋਡ ਕਰੋ:

sudo service nginx restart

ਧਿਆਨ ਦਿਓ ਕਿ ਇਹਨਾਂ ਸੈਟਿੰਗਾਂ ਦੇ ਨਾਲ, ਆਗਿਆ ਦਿਓ ਅਤੇ ਇਨਕਾਰ ਕਰੋ ਨਿਰਦੇਸ਼ਾਂ ਨੂੰ ਬਾਈਪਾਸ ਕਰ ਦਿੱਤਾ ਜਾਵੇਗਾ।

ਡਾਟਾ ਕੰਪਰੈਸ਼ਨ ਦੀ ਵਰਤੋਂ

Apache ਅਤੇ Nginx ਵੈੱਬ ਸਰਵਰਾਂ 'ਤੇ Gzip ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਡੇਟਾ ਕੰਪਰੈਸ਼ਨ ਨੂੰ ਸਮਰੱਥ ਬਣਾਉਣ ਨਾਲ ਸਰਵਰ ਅਤੇ ਕਲਾਇੰਟ ਵਿਚਕਾਰ ਪ੍ਰਸਾਰਿਤ ਡੇਟਾ ਦੀ ਮਾਤਰਾ ਨੂੰ ਘਟਾਉਣ ਵਿੱਚ ਮਦਦ ਮਿਲਦੀ ਹੈ, ਜਿਸ ਨਾਲ ਪ੍ਰਦਰਸ਼ਨ ਵਿੱਚ ਸੁਧਾਰ ਹੁੰਦਾ ਹੈ ਅਤੇ ਵੈੱਬ ਪੇਜ ਲੋਡ ਹੋਣ ਦਾ ਸਮਾਂ ਘਟਦਾ ਹੈ।

ਅਪਾਚੇ ਤੇ Gzip ਨੂੰ ਸਮਰੱਥ ਬਣਾਉਣ ਲਈ , ਤੁਹਾਨੂੰ 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>

ਇਹ ਸੰਰਚਨਾ ਕੁਝ ਖਾਸ ਕਿਸਮਾਂ ਦੀਆਂ ਫਾਈਲਾਂ ਲਈ ਸੰਕੁਚਨ ਨੂੰ ਸਮਰੱਥ ਬਣਾਉਂਦੀ ਹੈ ਅਤੇ ਚਿੱਤਰਾਂ ਲਈ ਇਸਨੂੰ ਅਯੋਗ ਕਰ ਦਿੰਦੀ ਹੈ।

Nginx ਦੇ ਮਾਮਲੇ ਵਿੱਚ , ਸੰਰਚਨਾ ਸੰਰਚਨਾ ਫਾਈਲ ਦੇ 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 ਹਮਲਿਆਂ ਦੇ ਪ੍ਰਭਾਵ ਨੂੰ ਘਟਾਉਣ ਲਈ Apache ਅਤੇ Nginx ਵੈੱਬ ਸਰਵਰਾਂ ਨੂੰ ਕੌਂਫਿਗਰ ਕਰਨਾ।

ਅਪਾਚੇ ਦੇ ਹੱਲ ਵਜੋਂ, ਅਸੀਂ mod_evasive ਮੋਡੀਊਲ ਨੂੰ ਸਮਰੱਥ ਬਣਾਉਂਦੇ ਹਾਂ। ਅਜਿਹਾ ਕਰਨ ਲਈ, httpd.conf ਜਾਂ 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>

ਇਸੇ ਤਰ੍ਹਾਂ, ਅਸੀਂ mod_ratelimit ਮੋਡੀਊਲ ਨੂੰ ਸਰਗਰਮ ਕਰਦੇ ਹਾਂ:

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 ਲਈ ਸੰਰਚਨਾ 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 ਡੇਟਾਬੇਸ ਪੁੱਛਗਿੱਛਾਂ ਨੂੰ ਅਨੁਕੂਲ ਬਣਾਉਣਾ ਕਈ ਤਰੀਕਿਆਂ ਨਾਲ ਪ੍ਰਾਪਤ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ, ਅਤੇ ਉਨ੍ਹਾਂ ਵਿੱਚੋਂ ਇੱਕ ਸੰਰਚਨਾ ਫਾਈਲ ਦੀ ਸਹੀ ਸੰਰਚਨਾ ਹੈ। ਆਮ ਤੌਰ 'ਤੇ, ਇਸ ਫਾਈਲ ਦਾ ਨਾਮ my.cnf ਜਾਂ my.ini ਹੁੰਦਾ ਹੈ ਅਤੇ ਇਹ /etc/ ਜਾਂ /etc/mysql/ ਡਾਇਰੈਕਟਰੀ ਵਿੱਚ ਸਥਿਤ ਹੁੰਦੀ ਹੈ । ਤੁਹਾਨੂੰ ਇਸਨੂੰ ਖੋਲ੍ਹਣ ਅਤੇ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਕਰਨ ਦੀ ਲੋੜ ਹੈ:

[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 ਉਪਯੋਗਤਾ ਇਸ ਵਿੱਚ ਮਦਦ ਕਰ ਸਕਦੀ ਹੈ, ਇਸਨੂੰ ਕਿਰਿਆਸ਼ੀਲ ਕਰਨ ਲਈ, ਟਰਮੀਨਲ ਵਿੱਚ ਸੰਬੰਧਿਤ ਕਮਾਂਡ ਦਰਜ ਕਰੋ:

mailq

ਇਹ ਕਤਾਰ ਵਿੱਚ ਸੁਨੇਹਿਆਂ ਦੀ ਇੱਕ ਸੂਚੀ ਪ੍ਰਦਰਸ਼ਿਤ ਕਰੇਗਾ, ਜੇਕਰ ਕੋਈ ਹੈ। ਹਰੇਕ ਸੁਨੇਹਾ ਇਸਦੇ ਵਿਲੱਖਣ ਪਛਾਣਕਰਤਾ ਅਤੇ ਭੇਜਣ ਦੀ ਸਥਿਤੀ ਬਾਰੇ ਜਾਣਕਾਰੀ ਦੇ ਨਾਲ ਪ੍ਰਦਰਸ਼ਿਤ ਕੀਤਾ ਜਾਵੇਗਾ। ਮੇਲ ਕਲਾਇੰਟ ਲੌਗਸ ਦੀ ਸਮੀਖਿਆ ਕਰਕੇ ਇੱਕ ਸਮਾਨ ਨਤੀਜਾ ਪ੍ਰਾਪਤ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ।

ਜ਼ਿਆਦਾਤਰ ਮਾਮਲਿਆਂ ਵਿੱਚ, ਸਰਵਰ ਨਾਲ ਸਮਝੌਤਾ ਹੋਣ ਦੀ ਸਥਿਤੀ ਵਿੱਚ ਉੱਚ ਲੋਡ ਹੁੰਦਾ ਹੈ ਜਦੋਂ ਇਹ ਸਪੈਮ ਭੇਜਣਾ ਸ਼ੁਰੂ ਕਰਦਾ ਹੈ। ਹਾਲਾਂਕਿ, ਜੇਕਰ ਜਾਂਚ ਕਰਨ ਤੋਂ ਬਾਅਦ ਪ੍ਰਸ਼ਾਸਕ ਨੂੰ ਭਰੋਸਾ ਹੈ ਕਿ ਸਰਵਰ 'ਤੇ ਬਾਹਰੋਂ ਹਮਲਾ ਨਹੀਂ ਹੋਇਆ ਹੈ ਅਤੇ ਉਪਭੋਗਤਾ ਸਪੈਮ ਨੂੰ ਨਜ਼ਰਅੰਦਾਜ਼ ਨਹੀਂ ਕਰ ਰਹੇ ਹਨ, ਤਾਂ ਇਹ ਮੇਲ ਸਰਵਰ ਨੂੰ ਅਨੁਕੂਲ ਬਣਾਉਣ ਵੱਲ ਵਧਣ ਦਾ ਸਮਾਂ ਹੈ। ਇੱਥੇ ਉਹ ਕਦਮ ਹਨ ਜੋ ਮਦਦ ਕਰਨਗੇ:

  1. ਯਕੀਨੀ ਬਣਾਓ ਕਿ ਤੁਹਾਡੇ ਡੋਮੇਨ ਦੇ DNS ਰਿਕਾਰਡ ਸਹੀ ਢੰਗ ਨਾਲ ਕੌਂਫਿਗਰ ਕੀਤੇ ਗਏ ਹਨ, ਜਿਸ ਵਿੱਚ ਸ਼ਾਮਲ ਹਨ SPF, ਡੀ ਕੇ ਆਈ ਐੱਮਹੈ, ਅਤੇ ਡੀ.ਐੱਮ.ਆਰ.ਸੀ. ਮੇਲ ਡਿਲੀਵਰੀ ਨੂੰ ਬਿਹਤਰ ਬਣਾਉਣ ਅਤੇ ਸਪੈਮ ਤੋਂ ਬਚਾਉਣ ਲਈ ਰਿਕਾਰਡ। ਪੈਰਾਮੀਟਰਾਂ ਦੀ ਸਹੀ ਸੰਰਚਨਾ ਲੇਖ ਵਿੱਚ ਮਿਲ ਸਕਦੀ ਹੈ ਮੇਲ ਸਰਵਰ ਡਾਇਗਨੌਸਟਿਕਸ.
  2. ਬਲਾਕਾਂ ਤੋਂ ਬਚਣ ਅਤੇ ਮੇਲ ਡਿਲੀਵਰੀ ਨੂੰ ਤੇਜ਼ ਕਰਨ ਲਈ, ਨੈੱਟਵਰਕ ਸੈਟਿੰਗਾਂ ਦੀ ਜਾਂਚ ਕਰੋ, ਜਿਸ ਵਿੱਚ ਫਾਇਰਵਾਲ ਕੌਂਫਿਗਰੇਸ਼ਨ ਅਤੇ ਰੂਟਿੰਗ ਨਿਯਮ ਸ਼ਾਮਲ ਹਨ।
  3. ਸਰਵਰ ਲੋਡ ਦੇ ਅਨੁਸਾਰ ਸੁਨੇਹਾ ਕਤਾਰ ਪੈਰਾਮੀਟਰਾਂ ਨੂੰ ਕੌਂਫਿਗਰ ਕਰੋ। ਇਸ ਵਿੱਚ ਵੱਧ ਤੋਂ ਵੱਧ ਕਤਾਰ ਆਕਾਰ ਅਤੇ ਸਮਾਂ ਸਮਾਪਤੀ ਸੈੱਟ ਕਰਨਾ ਸ਼ਾਮਲ ਹੋ ਸਕਦਾ ਹੈ।
  4. ਇਸ ਲੇਖ ਵਿੱਚ ਪਹਿਲਾਂ ਚਰਚਾ ਕੀਤੇ ਗਏ ਹੱਲਾਂ 'ਤੇ ਵਿਚਾਰ ਕਰੋ। ਪ੍ਰਦਰਸ਼ਨ ਨੂੰ ਬਿਹਤਰ ਬਣਾਉਣ ਲਈ ਸਮੇਂ-ਸਮੇਂ 'ਤੇ ਮੇਲ ਸਰਵਰ ਡੇਟਾਬੇਸ ਨੂੰ ਅਨੁਕੂਲ ਬਣਾਓ, ਡੇਟਾ ਖੋਜ ਅਤੇ ਪ੍ਰੋਸੈਸਿੰਗ ਨੂੰ ਤੇਜ਼ ਕਰਨ ਲਈ ਕੈਚਿੰਗ ਵਿਧੀਆਂ ਦੀ ਵਰਤੋਂ ਕਰੋ, ਜਿਵੇਂ ਕਿ DNS ਪੁੱਛਗਿੱਛਾਂ।
  5. ਜੇਕਰ ਮੇਲ ਸਰਵਰ ਅਜੇ ਵੀ ਨਿਯਮਿਤ ਤੌਰ 'ਤੇ ਉੱਚ ਲੋਡ ਦਾ ਸਾਹਮਣਾ ਕਰਦਾ ਹੈ, ਤਾਂ ਸਕੇਲਿੰਗ ਵਿਕਲਪਾਂ 'ਤੇ ਵਿਚਾਰ ਕਰੋ, ਜਿਵੇਂ ਕਿ ਮੇਲ ਸਰਵਰਾਂ ਦੇ ਕਲੱਸਟਰ ਜਾਂ ਕਲਾਉਡ ਹੱਲ ਦੀ ਵਰਤੋਂ ਕਰਨਾ।

ਸਿੱਟਾ

ਸਰਵਰ ਲੋਡ ਵਿੱਚ ਵਾਧਾ ਸਿੱਧੇ ਤੌਰ 'ਤੇ ਵੈੱਬਸਾਈਟ ਲੋਡਿੰਗ ਗਤੀ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕਰਦਾ ਹੈ, ਅੰਤ ਵਿੱਚ ਖੋਜ ਇੰਜਣਾਂ ਵਿੱਚ ਉਪਭੋਗਤਾ ਅਨੁਭਵ ਅਤੇ ਸਾਖ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕਰਦਾ ਹੈ। ਇਸ ਤਰ੍ਹਾਂ, ਇਸ ਲੋਡ ਨੂੰ ਪ੍ਰਭਾਵਸ਼ਾਲੀ ਢੰਗ ਨਾਲ ਪ੍ਰਬੰਧਨ ਸਰੋਤ ਦੀ ਨਿਰੰਤਰ ਕਾਰਜਸ਼ੀਲਤਾ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਣ ਅਤੇ ਸੈਲਾਨੀਆਂ ਲਈ ਇਸਦੀ ਪਹੁੰਚਯੋਗਤਾ ਨੂੰ ਵਧਾਉਣ ਵਿੱਚ ਮੁੱਖ ਭੂਮਿਕਾ ਨਿਭਾਉਂਦਾ ਹੈ।

❮ ਪਿਛਲਾ ਲੇਖ ਸਰਟਬੋਟ: ਲੈਟਸ ਐਨਕ੍ਰਿਪਟ ਸਰਟੀਫਿਕੇਟ ਸਥਾਪਤ ਕਰਨਾ
ਅਗਲਾ ਲੇਖ ❯ ਸਰਵਰ ਲੋਡ ਡਾਇਗਨੌਸਟਿਕਸ

ਸਾਨੂੰ VPS ਬਾਰੇ ਪੁੱਛੋ

ਅਸੀਂ ਦਿਨ ਜਾਂ ਰਾਤ ਦੇ ਕਿਸੇ ਵੀ ਸਮੇਂ ਤੁਹਾਡੇ ਸਵਾਲਾਂ ਦੇ ਜਵਾਬ ਦੇਣ ਲਈ ਹਮੇਸ਼ਾ ਤਿਆਰ ਹਾਂ।