San Airteagal seo, scrúdóimid cén fáth a dtarlaíonn ualach méadaithe freastalaí agus pléifimid bealaí éagsúla chun próisis ard-ualaigh a bharrfheabhsú. Tabharfar aird ar leith ar optamú cód in Apache/Nginx agus MySQL, labhróimid faoi thaisceadh mar uirlis chúnta, agus breithneoimid freisin bagairtí seachtracha féideartha, mar ionsaithe DDOS, agus bealaí chun iad a chosc.
Cén fáth a dtarlaíonn Ualach Freastalaí
Sula dtéann tú ar aghaidh chuig leas iomlán a bhaint as an bhfreastalaí, is gá anailís chríochnúil a dhéanamh ar an ualach reatha ar acmhainní. Áirítear leis seo ualach LAP a thomhas, úsáid RAM, gníomhaíocht líonra, agus paraiméadair ríthábhachtacha eile. Le tuiscint ar dhinimic agus buaic-ualaí is féidir scrogaill a aithint agus leithdháileadh acmhainní a bharrfheabhsú, rud a mhéadaíonn cobhsaíocht agus feidhmíocht bhonneagar an fhreastalaí.
Chun fabhtcheartú tosaigh a dhéanamh ar ualach ard freastalaí, molaimid diagnóisic ghinearálta freastalaí a dhéanamh . Mura leor é seo, tá gá le hanailís níos mionsonraithe ar acmhainní . Mar uirlis chúnta, is féidir go mbeadh sé ina chuidiú logaí an fhreastalaí Linux a iniúchadh, mar is ann a aimsítear foinse na faidhbe i bhformhór na gcásanna.
Freastalaí Apache / Nginx a bharrfheabhsú
Ualach Méadaithe Freastalaí Mar gheall ar Innéacsú
Is féidir le hualach méadaithe mar gheall ar innéacsú ar an bhfreastalaí tarlú, mar shampla, nuair a scanadh innill chuardaigh líon mór de na leathanaigh ar do shuíomh. D’fhéadfadh úsáid mhéadaithe a bhaint as acmhainní an fhreastalaí a bheith mar thoradh air seo agus, dá bharr sin, moill a chur ar fheidhmíocht an tsuímh. Tá sé sách simplí an chúis a aithint; ní mór duit an comhad atá suite ag:
/var/www/httpd-logs/sitename.access.log
Nuair a bheidh an t-úsáideoir innéacsaithe ag innill chuardaigh, feicfidh an t-úsáideoir iontrálacha den chineál seo a leanas:
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)"
Mar chéad réiteach chun an t-ualach a laghdú, is féidir leat úsáid a bhaint as socrú na gclibeanna meitea "noindex" agus "nofollow" ar leathanaigh nach gá a innéacsú. Is é an dara réiteach ná an comhad .htaccess , áit a gcaithfear iontrálacha a fhreagraíonn do innill chuardaigh shonracha a chur leis, mar shampla, chun iad a cheilt ó Yandex agus Google:
SetEnvIfNoCase User-Agent "^Yandex" search_bot
SetEnvIfNoCase User-Agent "^Googlebot" search_bot
Order Allow,Deny
Allow from all
Deny from env=search_bot
Ar an gcaoi chéanna, ní mór eagarthóireachtaí a dhéanamh d’innill chuardaigh eile. Ba chóir a thabhairt faoi deara nach bhfuil cumais .htaccess teoranta do bhac a chur ar innéacsú amháin. Molaimid duit eolas níos fearr a chur ar a phríomhghnéithe san alt.
Ag baint úsáide as Socruithe Caching
Is féidir le socruithe taisceála míchearta ar an bhfreastalaí ualach ard a bheith mar thoradh air freisin. Chun an paraiméadar seo a bharrfheabhsú, ní mór athruithe comhfhreagracha a dhéanamh sna comhaid chumraíochta nó i .htaccess . I gcás Apache, is fearr an rogha dheireanach, agus i gcás Nginx - is fearr an chéad rogha.
Ar fhreastalaí Apache , ní mór duit an comhad .htacess a oscailt agus an cód seo a leanas a chur isteach:
<FilesMatch ".(flv|gif|jpg|jpeg|png|ico|swf|js|css|pdf|doc|docx)$">
Header set Cache-Control "max-age=2592000"
</FilesMatch>
Ansin, cumasaigh an modúl Expires ag baint úsáide as an ordú:
sudo a2enmod expires
Ina dhiaidh sin, atosaigh an freastalaí gréasáin:
sudo service apache2 restart
Agus cuir an modúl i ngníomh trí na nithe seo a leanas a shonrú:
ExpiresActive On
Ar fhreastalaí Nginx , is leor an cód seo a leanas a chur leis an gcomhad cumraíochta:
location ~* .(jpg|jpeg|gif|png|ico|css|swf|flv|doc|docx)$ {
root /var/www/yoursite.com;
}
Agus athlódáil seirbhíse a dhéanamh:
sudo service nginx restart
Tabhair faoi deara, leis na socruithe seo, go seachnófar na treoracha Ceadaigh agus Diúltaigh .
Ag Úsáid Comhbhrú Sonraí
Cuidíonn comhbhrú sonraí a chumasú ag baint úsáide as Gzip ar fhreastalaithe gréasáin Apache agus Nginx le méid na sonraí a tharchuirtear idir an freastalaí agus an cliant a laghdú, rud a fheabhsaíonn feidhmíocht agus a laghdaíonn am lódála leathanaigh ghréasáin.
Chun Gzip a chumasú ar Apache , ní mór duit an modúl mod_deflate a ghníomhachtú:
sudo a2enmod deflate
Ansin, atosaigh an freastalaí gréasáin:
sudo service apache2 restart
Agus ar deireadh, cuir an bloc seo a leanas leis an gcomhad cumraíochta nó .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>
Cumasaíonn an chumraíocht seo comhbhrú do chineálacha áirithe comhad agus díchumasaítear é le haghaidh íomhánna.
I gcás Nginx , tarlaíonn an chumraíocht i mbloc http an chomhaid chumraíochta. Ní mór an cód seo a leanas a chur leis:
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;
Cosúil le Apache , socraítear na paraiméadair chomhbhrúite do chineálacha áirithe comhad anseo. Tar éis athruithe a dhéanamh ar aon cheann de na freastalaithe gréasáin, tá gá le hathlódáil na seirbhíse:
sudo service apache2 restart
Or
sudo service nginx restart
DDOS ionsaí ar an bhfreastalaí
Is féidir ualach ard freastalaí tarlú mar thoradh ar ionsaí DDoS. Is féidir láithreacht ionsaí DDoS a aithint trí mhonatóireacht a dhéanamh ar mhéadú tobann ar thrácht, iarratais neamhghnácha, agus titeann feidhmíochta freastalaí. Is féidir ionsaí DDoS féideartha a léiriú freisin nuair a dhéantar logaí a athbhreithniú le haghaidh iarratais arís agus arís eile ó sheoladh IP amháin nó ó scanadh poirt. Tá go leor bearta cosanta ann, ach ní phléifimid ach na bunghnéithe.
Ag baint úsáide as CDN (Líonra Seachadta Ábhair) . Is féidir le CDN feidhmiú mar idirghabhálaí idir do fhreastalaí gréasáin agus úsáideoirí, ag dáileadh tráchta agus ag cur ábhar i dtaisce chun tionchar ionsaí DDoS a mhaolú. Is féidir le CDNanna meicníochtaí cosanta DDoS ionsuite a bheith acu freisin, lena n-áirítear dáileadh ualaigh agus scagadh tráchta.
Cumrú ballaí dóiteáin agus córais bhrath ionraidh (IDS/IPS) . Is féidir ballaí dóiteáin a chumrú chun trácht a scagadh bunaithe ar chritéir éagsúla, amhail seoltaí IP agus calafoirt. Is féidir le IDS/IPS iompar tráchta neamhghnácha a bhrath agus naisc amhrasacha a bhlocáil. Is féidir leis na huirlisí seo a bheith éifeachtach chun trácht a d'fhéadfadh a bheith mailíseach a rianú agus a bhlocáil.
Freastalaithe gréasáin Apache agus Nginx a chumrú chun tionchar ionsaithe DDoS a mhaolú.
Mar réiteach d'Apache, cumasaímid an modúl mod_evasive . Chun seo a dhéanamh, bain trácht nó cuir an líne seo a leanas leis an gcomhad cumraíochta httpd.conf nó apache2.conf :
LoadModule evasive20_module modules/mod_evasive.so
Sa chomhad céanna, ní mór duit bloc socruithe a chur leis:
<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>
Ar an gcaoi chéanna, gníomhaímid an modúl mod_ratelimit :
LoadModule ratelimit_module modules/mod_ratelimit.so
Agus cuir an chumraíocht leis:
<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>
Tá cumraíocht Nginx cosúil le cumraíocht Apache . Sa chomhad cumraíochta nginx.conf , ní mór na treoracha seo a leanas a úsáid:
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;
...
}
}
Tar éis athruithe a dhéanamh ar gach ceann de na seirbhísí, ní mór iad a athlódáil:
sudo systemctl restart apache2
Nó:
sudo systemctl restart nginx
Ní sholáthraíonn na samplaí seo ach cumraíocht bhunúsach, ar féidir a oiriúnú tuilleadh ag brath ar riachtanais shonracha agus nádúr na n-ionsaithe.
Ceisteanna MySQL a bharrfheabhsú
Is féidir ceisteanna bunachar sonraí MySQL a bharrfheabhsú ar fhreastalaí gréasáin ar bhealaí éagsúla, agus ceann acu is ea cumraíocht cheart an chomhaid chumraíochta. De ghnáth, tugtar my.cnf nó my.ini ar an gcomhad seo agus tá sé suite san eolaire /etc/ nó /etc/mysql/ . Ní mór duit é a oscailt agus na hathruithe seo a leanas a dhéanamh:
[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
Déanaimis moltaí breise a mheas freisin ar féidir leo idirghníomhú le bunachar sonraí an fhreastalaí a éascú:
- Bain úsáid as an MÍNIÚ ordú roimh cheist SQL chun anailís a dhéanamh ar a fheidhmiú. Ligeann sé seo duit plean forghníomhaithe a fháil don cheist agus a chinneadh cé na hinnéacsanna a úsáidtear, cé na táblaí a scanadh, etc.
- Cuireann innéacsanna dlús le cuardach sonraí, mar sin is féidir le hinnéacsanna atá deartha i gceart feabhas suntasach a chur ar fheidhmíocht na gceisteanna. Tabhair aird ar cholúin a úsáidtear go minic i ÁIT or Join coinníollacha.
- Seachain úsáid SELECT *. Sonraigh na colúin sin amháin atá fíor-riachtanach do do cheist, in ionad na colúin go léir a roghnú i dtábla.
- Seachain feidhmeanna a úsáid i ÁIT coinníollacha. Ag baint úsáide as feidhmeanna (mar IS ÍSEAL, UACHTARACH, LEFT, CEART) i ÁIT is féidir le coinníollacha innéacsanna a dhéanamh gan úsáid. Déan iarracht a n-úsáid dhíreach a sheachaint i gcoinníollacha.
- Úsáid INNER JOIN nuair is féidir, toisc go mbíonn sé níos éifeachtaí de ghnáth. Chomh maith leis sin, cinntigh go bhfuil innéacsanna ag na colúin chomhfhreagracha chun páirt a ghlacadh.
- Úsáid LIMIT chun srian a chur ar líon na sraitheanna ar ais más gá duit a fháil ach líon áirithe torthaí.
- Smaoinigh ar thorthaí fiosrúcháin taisce, go háirithe más annamh a athraíonn siad, chun ualach an fhreastalaí a laghdú.
Cruthaíonn an Freastalaí Ríomhphoist Luchtaigh Ard ar an bhFreastalaí
Sa chuid seo, déanfaimid iniúchadh ar conas a chinneadh an bhfuil ualach ard ar an bhfreastalaí ríomhphoist agus cad iad na céimeanna is féidir a ghlacadh chun a oibriú a bharrfheabhsú, lena n-áirítear an scuaine teachtaireachtaí a sheiceáil agus paraiméadair an fhreastalaí a chumrú. Tosaigh leis an scuaine teachtaireachtaí a sheiceáil. Is féidir leis an bhfóntas mailq cabhrú leis seo, chun é a ghníomhachtú, cuir isteach an t-ordú comhfhreagrach sa chríochfort:
mailq
Taispeánfaidh sé seo liosta teachtaireachtaí sa scuaine, más ann dóibh. Taispeánfar gach teachtaireacht lena aitheantóir uathúil agus faisnéis faoin stádas seolta. Is féidir toradh comhchosúil a fháil trí athbhreithniú a dhéanamh ar logaí cliant ríomhphoist.
I bhformhór na gcásanna, tarlaíonn ualach ard i gcás comhréiteach freastalaí nuair a thosaíonn sé ag seoladh turscair. Mar sin féin, má tá an riarthóir muiníneach tar éis a sheiceáil nach ndearnadh ionsaí ar an bhfreastalaí ón taobh amuigh agus nach bhfuil úsáideoirí ag déanamh faillí ar thurscar, tá sé in am bogadh ar aghaidh go dtí an freastalaí ríomhphoist a bharrfheabhsú. Seo iad na céimeanna a chabhróidh:
- Cinntigh go bhfuil taifid DNS d'fhearainn cumraithe i gceart, lena n-áirítear SPF, síneadh dkim, agus síneadh DMRC taifid chun seachadadh poist a fheabhsú agus chun cosaint a dhéanamh ar thurscar. Is féidir cumraíocht cheart na bparaiméadar a fháil san alt ar diagnóisic freastalaí ríomhphoist.
- Seiceáil socruithe líonra, lena n-áirítear cumraíocht balla dóiteáin agus rialacha ródaithe, chun bloic a sheachaint agus seachadadh poist a bhrostú.
- Cumraigh paraiméadair scuaine teachtaireachta de réir ualach an fhreastalaí. D’fhéadfadh go n-áireofaí leis seo uasmhéid na scuaine agus amanna ama a shocrú.
- Smaoinigh ar na réitigh a phléamar san Airteagal seo níos luaithe. Barrfheabhsú go tréimhsiúil ar bhunachar sonraí an fhreastalaí ríomhphoist chun feidhmíocht a fheabhsú, bain úsáid as meicníochtaí taisce chun cuardach agus próiseáil sonraí a bhrostú, mar shampla fiosruithe DNS.
- Má bhíonn ualach ard fós ar an bhfreastalaí ríomhphoist go rialta, smaoinigh ar roghanna scálaithe, mar shampla braisle freastalaithe ríomhphoist nó réitigh scamall a úsáid.
Conclúid
Bíonn tionchar díreach ag ualach méadaithe an fhreastalaí ar luas luchtaithe an tsuímh Ghréasáin, rud a imríonn tionchar ar thaithí úsáideora agus ar chlú na n-innill chuardaigh. Mar sin, tá ról lárnach ag bainistiú éifeachtach an ualaigh seo chun feidhmiúlacht leanúnach na hacmhainne a chinntiú agus chun a hinrochtaineacht a mhéadú do chuairteoirí.