frame

Sveiki apsilankę!

Jei forume lankaisi pirmą kartą, kviečiame registruotis ir prisijungti prie diskusijų.

Prisijungti Registruotis

Memcached kešavimo sistemos įdiegimas

IV_RomanLIV_RomanL Interneto vizija
edited 2013 gruodžio 13 Į Web serveriai
Memcached - tai itin galinga kešavimo sistema paspartinanti PHP bei duomenų bazių veikimą. Ši sistema yra atvirojo kodo ir visiškai nemokama. Pamoka paruošta naudojant CentOS 6.x operacinę sistemą.

0. Atsisunčiame papildomą (nebūtina) failų redagavimo įrankį "nano" :
yum install nano -y
1. Diegiame memcached sistemą:
yum install memcached.x86_64 php-pecl-memcache.x86_64 -y
2. Konfigūruojame memcached servisą:
nano /etc/sysconfig/memcached
Atsidariusiame konfigūraciniame lange jūs matysite tokią informaciją:
PORT="11211"
USER="memcached"
MAXCONN="1024"
CACHESIZE="64"
OPTIONS="
Čia:

MAXCONN: leidžiamas maksimalus susijungimų kiekis vienu metu.Intensyviai naudojamuose serveriuose šis dydis gali būti keičiamas į pvz.: 2048.
CACHESIZE: maksimali atmintis skiriama objektų kešavimui, pagal nutylėjimą šis dydis yra 64 MB. Intensyviai naudojamuose serveriuose šis dydis gali būti keičiamas į pvz.: 512 MB.
OPTIONS: galite nustatyti serverio IP adresą. Pvz.: OPTIONS="-l 192.168.1.15" . Ši nuostata yra būtina norint apsaugoti memcached servisą.

3. Startuojame Memcached servisą:
service memcached start
Papildomos komandos:

service memcached stop - serviso sustabdymas
service memcached restart - serviso perkrova
service memcached status - serviso būklė

4. Įsitikinkite jog memcached servisas aktyvus įvykdydami komandą:
pgrep memcached
netstat -tulpn | grep :11211
Rodomi duomenys turėtų būti panašūs į:
tcp        0      0 192.168.1.15:11211           0.0.0.0:*                   LISTEN      24964/memcached
udp        0      0 192.168.1.15:11211           0.0.0.0:*                               24964/memcached
5. Memcached serviso statistika prieinama įvykdžius komandą:
memcached-tool  [B]Jūsų_priskirtas_IP[/B]:11211 stats
6. Ugniasienės konfigūracinės nuostatos siekiant apsaugoti memcached servisą:
iptables -A INPUT -p tcp --dport 11211 -s [B]192.168.1.10[/B] -j ACCEPT
iptables -A INPUT -p udp --dport 11211 -s [B]192.168.1.10[/B] -j ACCEPT
Pajuodintos sritys yra jūsų serverio IP adresas. Šiuos duomenis pakeiskite pagal savo turimo serverio duomenis.

Komentarai

  • webnetaswebnetas Naujokas (-ė)
    edited 2012 kovo 16
    Gal galite parasyti, kaip itraukti memcached automatini paleidima? kad po restarto jis startuotu automatiskai. Labai aciu.
  • IV_RomanLIV_RomanL Interneto vizija
    edited 2012 kovo 16
    Automatinį memcached serviso paleidimą galite nustatyti šios komandos pagalba:
    chkconfig memcached on
    
  • webnetaswebnetas Naujokas (-ė)
    edited 2012 kovo 16
    Labai aciu uz greitai atsakyma. Speju as buvau instaliaves memcached jau kitu budu (tai buvo l.senai, taciau niekada neprireikdavo, o dabar atkeipiau demesi, kad bent 1 kart i menesi atliekami kokie profilaktiniai darbai), nes man service nesusikure. Meta lentele:
    service memcached does not support chkconfig
    
  • IV_RomanLIV_RomanL Interneto vizija
    edited 2012 kovo 16
    Pamėginkite komandą:
    chkconfig --level 235 memcached on
    
  • RaudonaitisRaudonaitis Naujokas (-ė)
    edited 2012 gegužės 25
    iptables -A INPUT -p tcp --destination-port 11211 -m state --state NEW  -m iprange --src-range 192.168.1.10-192.168.1.15 -j ACCEPT
    iptables -A INPUT -p udp --destination-port 11211 -m state --state NEW  -m iprange --src-range 192.168.1.10-192.168.1.15 -j ACCEPT
    

    Nelabai supratau koks IP ruožas čia turėtų būti? Atitinkantis serverio IP? Jeigu mano serverio IP 109.235.71.123, tai turi atrodyti maždaug taip: 109.235.71.120-109.235.71.125?
  • IV_RomanLIV_RomanL Interneto vizija
    edited 2012 gegužės 25
    Sveiki,

    taip, jūsų pateikiamas pavyzdys yra teisingas.
  • RaudonaitisRaudonaitis Naujokas (-ė)
    edited 2012 gegužės 25
    IV_RomanL parašė: »
    Sveiki,

    taip, jūsų pateikiamas pavyzdys yra teisingas.

    Bet tada rašo:
    iptables: No chain/target/match by that name.
    
  • IV_RomanLIV_RomanL Interneto vizija
    edited 2012 gegužės 28
    Sveiki,

    atliktas pamokos pataisymas (6 punkto). Naudokite šias komandas:
    iptables -A INPUT -p tcp --dport 11211 -s [B]192.168.1.10[/B] -j ACCEPT 
    iptables -A INPUT -p udp --dport 11211 -s [B]192.168.1.10[/B] -j ACCEPT
    

    Pajuodintos sritys yra jūsų serverio IP adresas.
  • dariusvaiciunasdariusvaiciunas Naujokas (-ė)
    edited 2012 spalio 2
    Suinstaliavau memcached pagal aprašymą. Viskas praėjo sklandžiai.
    Startavus servisą (service memcached start), rašo OK. Tačiau bandant restartuoti, Stopping memcached: [FAILED].

    Dėl kokių priežasčių taip gali būti?
  • IV_RomanLIV_RomanL Interneto vizija
    edited 2012 spalio 3
    Sveiki,

    peržiūrėkite klaidų žurnalą kataloge /var/log.
  • dariusvaiciunasdariusvaiciunas Naujokas (-ė)
    edited 2012 spalio 3
    Kataloge /var/log/ jokių įrašų apie memcahed nėra. Failo memcached.log taip pat niekur nėra.
  • dariusvaiciunasdariusvaiciunas Naujokas (-ė)
    edited 2012 spalio 3
    Įvykdžius komandą:
    service memcached status: memcached dead but pid file exists.
  • IV_RomanLIV_RomanL Interneto vizija
    edited 2012 spalio 4
    Įvykdykite komandą "top" ir peržiūrėkite procesų sąrašą. Radę memcached servisą, jį nutraukite:

    kill -9 PID
  • dariusvaiciunasdariusvaiciunas Naujokas (-ė)
    edited 2012 spalio 4
    Proceso užkilinimas nepadėjo. Naujai startuojant vėl būdavo tas pats. Padėjo memcached perdiegimas iš naujo.
  • velnioadvokatasvelnioadvokatas Naujokas (-ė)
    edited 2012 lapkričio 13
    [root@server ~]# netstat -tulpn | grep :11211
    tcp        0      0 0.0.0.0:11211               0.0.0.0:*                   LISTEN      32179/memcached
    udp        0      0 0.0.0.0:11211               0.0.0.0:*                               32179/memcached
    
    Šitie nuliai čia tvarkoje?
  • IV_RomanLIV_RomanL Interneto vizija
    edited 2012 lapkričio 13
    Sveiki,

    taip.
  • virtualusvirtualus Naujokas (-ė)
    edited 2013 gruodžio 8
    Sveiki.

    Lyg ir viską suinstaliavau, tačiau pažiūrėjus visiškai nenaudoja atminties, reiškiasi neveikia ?

    531 memcache 20 0 323m 496 444 S 0.0 0.0 0:17.56 memcached -d -p 11211 -u memcached -m 512 -c 2048 -P /var/run/memcached/memcached.pid -l 79.98.xx.xxx
  • IV_RomanLIV_RomanL Interneto vizija
    edited 2013 gruodžio 9
    Sveiki,

    Prisijunkite prie memcached tarnybos:
    telnet IP 11211
    

    Tai tlikus galite peržiūrėti visą šios tarnybos statistiką. Plačiau apie tai http://lzone.de/articles/memcached.htm .
  • virtualusvirtualus Naujokas (-ė)
    edited 2013 gruodžio 11
    version
    VERSION 1.4.4
    stats
    STAT pid 664
    STAT uptime 125714
    STAT time 1386795571
    STAT version 1.4.4
    STAT pointer_size 64
    STAT rusage_user 1.921707
    STAT rusage_system 1.146825
    STAT curr_connections 6
    STAT total_connections 7
    STAT connection_structures 7
    STAT cmd_get 0
    STAT cmd_set 0
    STAT cmd_flush 0
    STAT get_hits 0
    STAT get_misses 0
    STAT delete_misses 0
    STAT delete_hits 0
    STAT incr_misses 0
    STAT incr_hits 0
    STAT decr_misses 0
    STAT decr_hits 0
    STAT cas_misses 0
    STAT cas_hits 0
    STAT cas_badval 0
    STAT auth_cmds 0
    STAT auth_errors 0
    STAT bytes_read 44
    STAT bytes_written 22
    STAT limit_maxbytes 536870912
    STAT accepting_conns 1
    STAT listen_disabled_num 0
    STAT threads 4
    STAT conn_yields 0
    STAT bytes 0
    STAT curr_items 0
    STAT total_items 0
    STAT evictions 0
    END
    IV_RomanL parašė: »
    Sveiki,

    Prisijunkite prie memcached tarnybos:
    telnet IP 11211
    

    Tai tlikus galite peržiūrėti visą šios tarnybos statistiką. Plačiau apie tai http://lzone.de/articles/memcached.htm .
  • IV_RomanLIV_RomanL Interneto vizija
    edited 2013 gruodžio 13
    Kaip matoma, memcache tarnyba puikiai veikia:

    STAT accepting_conns 1
    STAT rusage_user 1.921707
    STAT rusage_system 1.146825
    STAT curr_connections 6
Norėdami palikti komentarą, turite prisijungti arba registruokis.