קנאָוולעדגעבאַסע פּשוט ינסטראַקשאַנז צו אַרבעטן מיט די Profitserver דינסט
הויפּט קנאָוולעדגעבאַסע רידוסינג סערווער מאַסע

רידוסינג סערווער מאַסע


אין דעם אַרטיקל, מיר וועלן דעלוו אין וואָס געוואקסן סערווער מאַסע אַקערז און דיסקוטירן פאַרשידן וועגן צו אַפּטאַמייז הויך-מאַסע פּראַסעסאַז. ספּעציעלע ופמערקזאַמקייט וועט זיין געגעבן צו קאָד אַפּטאַמאַזיישאַן אין 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)"

ווי אַ ערשטער לייזונג צו רעדוצירן די מאַסע, איר קענען נוצן די באַשטעטיקן פון מעטאַ טאַגס "נאָינעקס" און "נאָפאָללאָוו" אויף בלעטער וואָס טאָן ניט דאַרפֿן צו זיין ינדעקסט. די צווייטע לייזונג איז די . הטאַקסעסס טעקע, ווו איינסן קאָראַספּאַנדינג צו ספּעציפיש זוכן ענדזשאַנז דאַרפֿן צו זיין מוסיף, למשל, צו באַהאַלטן פון יאַנדעקס און Google:

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

סימילאַרלי, עדיטינג דאַרף זיין געמאכט פֿאַר אנדערע זוכן ענדזשאַנז. עס זאָל זיין אנגעוויזן אַז די קייפּאַבילאַטיז פון .הטאַקסעסס זענען נישט לימיטעד צו בלויז בלאַקינג ינדעקסינג. מיר רעקאָמענדירן צו באַקומען מער באַקאַנט מיט זייַן הויפּט פֿעיִקייטן אין די אַרטיקל.

ניצן קאַטשינג סעטטינגס

פאַלש קאַטשינג סעטטינגס אויף די סערווער קענען אויך פירן צו הויך מאַסע. צו אַפּטאַמייז דעם פּאַראַמעטער, קאָראַספּאַנדינג ענדערונגען דאַרפֿן צו זיין געמאכט אין די קאַנפיגיעריישאַן טעקעס אָדער . הטאַקסעסס. אין דעם פאַל פון אַפּאַטשי, די יענער אָפּציע איז בילכער, פֿאַר Nginx - די ערשטע.

אויף אַן אַפּאַטשי סערווער, איר דאַרפֿן צו עפענען די .הטאַסעסס טעקע און אַרייַנלייגן די פאלגענדע קאָד:

<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 אַפּאַטשי, איר דאַרפֿן צו אַקטאַווייט די מאָד_דעפלאַטע מאָדולע:

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>

די קאַנפיגיעריישאַן ינייבאַלז קאַמפּרעשאַן פֿאַר זיכער טייפּס פון טעקעס און דיסייבאַלז עס פֿאַר בילדער.

אין דעם פאַל פון נגינקס, קאַנפיגיעריישאַן אַקערז אין די הטטפּ בלאָק פון די קאַנפיגיעריישאַן טעקע. די פאלגענדע קאָד דאַרף זיין צוגעלייגט:

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 (Content Delivery Network). א CDN קענען דינען ווי אַ ינטערמידיערי צווישן דיין וועב סערווער און יוזערז, דיסטריביוטינג פאַרקער און קאַטשינג אינהאַלט צו פאַרמינערן די פּראַל פון אַ DDoS באַפאַלן. CDNs קענען אויך האָבן געבויט-אין DDoS שוץ מעקאַניזאַמז, אַרייַנגערעכנט מאַסע פאַרשפּרייטונג און פאַרקער פֿילטרירונג.

קאַנפיגיער פיירוואַללס און ינטרוזשאַן דיטעקשאַן סיסטעמען (IDS / IPS). פירעוואַללס קענען זיין קאַנפיגיערד צו פילטער פאַרקער באזירט אויף פאַרשידן קרייטיריאַ, אַזאַ ווי IP אַדרעסעס און פּאָרץ. IDS / IPS קענען דעטעקט אַבנאָרמאַל פאַרקער נאַטור און פאַרשפּאַרן סאַספּישאַס קאַנעקשאַנז. די מכשירים קענען זיין עפעקטיוו אין טראַקינג און בלאַקינג פּאַטענטשאַלי בייזע פאַרקער.

קאַנפיגיער אַפּאַטשי און Nginx וועב סערווערס צו פאַרמינערן די פּראַל פון DDoS אנפאלן.

ווי אַ לייזונג פֿאַר אַפּאַטשי, מיר געבן די mod_evasive מאָדולע. צו טאָן דאָס, נעם אַוועק אָדער לייגן די פאלגענדע שורה אין די httpd.conf or apache2.conf configuration file:

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 דאַטאַבייס קוויריז אויף אַ וועב סערווער קענען זיין אַטשיווד אין פאַרשידן וועגן, און איינער פון זיי איז די געהעריק קאַנפיגיעריישאַן פון די קאַנפיגיעריישאַן טעקע. טיפּיקאַללי, דעם טעקע איז געהייסן מיין.קנף or מיין.יני און איז ליגן אין די / עטק / or /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 פאַרבינדן conditions.
  3. ויסמיידן ניצן SELECT *. ספּעציפיצירן בלויז די שפאלטן וואָס זענען באמת נייטיק פֿאַר דיין אָנפֿרעג, אַנשטאָט פון סאַלעקטינג אַלע שפאלטן אין אַ טיש.
  4. ויסמיידן ניצן פאַנגקשאַנז אין וואו באדינגונגען. ניצן פאַנגקשאַנז (אַזאַ ווי נידעריקער, UPPER, לינק, רעכט) אין וואו טנאָים קענען מאַכן ינדעקסיז אַרויסגעוואָרפן. פּרוּווט צו ויסמייַדן זייער דירעקט נוצן אין באדינגונגען.
  5. נוצן INNER JOIN ווו מעגלעך, ווי עס איז יוזשאַוואַלי מער עפעקטיוו. אויך, ענשור אַז די קאָראַספּאַנדינג שפאלטן פֿאַר דזשוינינג האָבן ינדעקסיז.
  6. נוצן באַגרענעצן צו באַגרענעצן די נומער פון אומגעקערט ראָוז אויב איר דאַרפֿן צו באַקומען בלויז אַ זיכער נומער פון רעזולטאַטן.
  7. באַטראַכטן קאַטשינג אָנפֿרעג רעזולטאַטן, ספּעציעל אויב זיי ראַרעלי טוישן, צו רעדוצירן סערווער מאַסע.

די מעיל סערווירער קריייץ הויך מאַסע אויף די סערווירער

אין דעם אָפּטיילונג, מיר וועלן ויספאָרשן ווי צו באַשליסן אַז די פּאָסט סערווער איז יקספּיריאַנסט הויך מאַסע און וואָס סטעפּס קענען זיין גענומען צו אַפּטאַמייז זייַן אָפּעראַציע, אַרייַנגערעכנט קאָנטראָלירונג די אָנזאָג ריי און קאַנפיגיער די סערווער פּאַראַמעטערס. אָנהייבן מיט קאָנטראָלירן די אָנזאָג ריי. די mailq די נוצן קענען העלפן מיט דעם, צו אַקטאַווייט עס, אַרייַן די קאָראַספּאַנדינג באַפֿעל אין די וואָקזאַל:

mailq

דאָס וועט ווייַזן אַ רשימה פון אַרטיקלען אין דער ריי, אויב קיין. יעדער אָנזאָג וועט זיין געוויזן מיט זיין יינציק ידענטיפיער און אינפֿאָרמאַציע וועגן די שיקט סטאַטוס. א ענלעך רעזולטאַט קענען זיין באקומען דורך ריוויוינג די פּאָסט קליענט לאָגס.

אין רובֿ פאלן, הויך מאַסע אַקערז אין די געשעעניש פון סערווער קאָמפּראָמיס ווען עס סטאַרץ שיקט ספּאַם. אָבער, אויב נאָך קאָנטראָלירונג דער אַדמיניסטראַטאָר איז זיכער אַז דער סערווער איז נישט אַטאַקירט פון די אַרויס און די יוזערז טאָן ניט פאַרלאָזן ספּאַם, עס איז צייט צו אַפּטאַמייז די פּאָסט סערווער. דאָ זענען די סטעפּס וואָס וועט העלפן:

  1. פאַרזיכערן אַז די DNS רעקאָרדס פון דיין פעלד זענען ריכטיק קאַנפיגיערד, אַרייַנגערעכנט SPF, DKIM, און DMARC רעקאָרדס צו פֿאַרבעסערן פּאָסט עקספּרעס און באַשיצן קעגן ספּאַם. די ריכטיק קאַנפיגיעריישאַן פון פּאַראַמעטערס קענען זיין געפֿונען אין דעם אַרטיקל אויף פּאָסט סערווער דיאַגנאָסטיקס.
  2. קאָנטראָלירן נעץ סעטטינגס, אַרייַנגערעכנט פיירוואַל קאַנפיגיעריישאַן און רוטינג כּללים, צו ויסמיידן בלאַקס און פאַרגיכערן פּאָסט עקספּרעס.
  3. קאַנפיגיער אָנזאָג ריי פּאַראַמעטערס לויט צו סערווער מאַסע. דאָס קען אַרייַננעמען באַשטעטיקן די מאַקסימום ריי גרייס און טיימאַוץ.
  4. באַטראַכטן די סאַלושאַנז וואָס מיר דיסקאַסט אין דעם אַרטיקל פריער. פּיריאַדיקלי אַפּטאַמייז די פּאָסט סערווער דאַטאַבייס צו פֿאַרבעסערן פאָרשטעלונג, נוצן קאַטשינג מעקאַניזאַמז צו פאַרגיכערן דאַטן זוכן און פּראַסעסינג, אַזאַ ווי דנס קוויריז.
  5. אויב די פּאָסט סערווער נאָך קעסיידער ינקאַונטערז הויך מאַסע, באַטראַכטן סקיילינג אָפּציעס, אַזאַ ווי ניצן אַ קנויל פון פּאָסט סערווערס אָדער וואָלקן סאַלושאַנז.

סאָף

געוואקסן סערווער מאַסע גלייך אַפעקץ די לאָודינג גיכקייַט פון וועבזייטל, און לעסאָף ימפּאַקטינג באַניצער דערפאַרונג און שעם אין זוכן ענדזשאַנז. אזוי, יפעקטיוולי אָנפירונג דעם מאַסע פיעסעס אַ שליסל ראָלע אין ינשורינג קעסיידערדיק פאַנגקשאַנאַליטי פון די מיטל און ינקריסינג זייַן אַקסעסאַביליטי פֿאַר וויזאַטערז.

❮ פריערדיגער אַרטיקל סערווירער לאָדן דיאַגנאָסטיקס
נעקסטער אַרטיקל ❯ Certbot: ינסטאָלינג זאל ס ענקריפּט סערטיפיקאַט

פרעגן אונדז וועגן VPS

מיר זענען שטענדיק גרייט צו ענטפֿערן דיין פֿראגן אין קיין צייט פון טאָג אָדער נאַכט.