OVH Community, your new community space.

Memcached e gentoo linux


MnEm0nIc
04.04.2009, 13.32
hai provato a fare semplicemente un:
emerge -av memcached ?
dovrebbe installarti tutto quelo che ti serve.

poi sta a te fare in modo che le app sfruttino memcached.
un metodo di cache indiretto potrebbe essere (sempre se usi app in php) utilizzare APC (sempre disponibile in portage, basta fare emerge -av pecl-apc) che facendo cache sul php, indirettamente la fa sulle query del db.

my 2 cents

vadoo
21.03.2009, 14.08
cavolo, è veramente spaventoso...
ho testato questo "memcached" in locale... i risultati sono veramente ottimi..
tanto per dire, su un database mysql di 8K utenti quando faccio una ricerca di un nome
sul server ovh ci mette circa 3-4 secondi.. in locale con memcached acceso 0.0013 secondi...bhè..cosa posso dire in merito

purtroppo su i rps di ovh (io ho gentoo) credo che non si può configurare...
o per lo meno io non ci riesco ad installare..

vadoo
20.03.2009, 10.50
un po di letteratura da MySQL
http://www.mysql.it/products/enterprise/memcached.html

vadoo
12.03.2009, 10.37
Citazione Originariamente Scritto da Max
Bhe 4000\5000 visitatori al giorno non sono "tanti" ... se va in crash, devi analizzare il perchè.. ne gestisco molti di più al giorno (in globale guardando diversi siti che ospito) con un amd ed 1gb di ram, fila tutto liscio da 3anni ... (non è su ovh il server, quì sto ancora investendo per capire se vale la pena cambiare la strada vecchai per la nuova :P).
Il problema non sta nelle visite giornagliere ma nella permanenza online.. (utenti online) nelle ore di picco potrei avere anche 2 o 3 mila utenti connessi ma non è possibile, prima il portale si rallenta e poi crolla...

gio01
12.03.2009, 09.19
Max ne vale la pena... risparmierai un botto

vadoo
12.03.2009, 01.14
ok, grazie dei consigli e suggerimenti.. ora mi metto a studiare con + impegno e poi magari vi spiego...

Max
10.03.2009, 19.49
Bhe 4000\5000 visitatori al giorno non sono "tanti" ... se va in crash, devi analizzare il perchè.. ne gestisco molti di più al giorno (in globale guardando diversi siti che ospito) con un amd ed 1gb di ram, fila tutto liscio da 3anni ... (non è su ovh il server, quì sto ancora investendo per capire se vale la pena cambiare la strada vecchai per la nuova :P).

gio01
09.03.2009, 14.18
vadoo devi vedere poi quanta ram consumano... e le cause dei crash..

bago
09.03.2009, 10.00
@vadoo: indipendentemente dai numeri, hai capito vero che installare memcached e basta non darà alcun risultato almeno che tu non stia usando una applicazione che utilizza automaticamente memcached o che tu modifichi la tua applicazione per usare in un determinato modo memcached. memcached ti permette solo di tenere in memoria condivisa alcuni dati che sai che vengono usati molto frequentemente in modo da risparmiare qualche query o evitare la lettura di qualche file. Ma bisogna sapere esattamente ciò che si fa, altrimenti usi solo più memoria e l'applicazione non va meglio.

vadoo
09.03.2009, 09.07
certamente non ho un sito con il numeri di facebook... ci mancherebbe... ma quello che posso dirti che ogni tanto ho dei picchi con 4-5.000 persone online e ovviamente il server va in crash...

bago
09.03.2009, 08.58
non credo che tu abbia un sito con lo stesso numero di utenti di facebook e con lo stesso numero di macchine in cluster che ha facebook, quindi mi sembra piuttosto inutile prendere una frase letta in una intervista come linea guida per far funzionare meglio un sito.
memcached da solo non fa niente: devi cambiare il tuo programma per decidere cosa mettere nella cache e cosa condividere tra i processi php. La modifica architetturale che farai sarà quella che darà i risultati: installare memcached e basta non farà alcuna differenza.

ibanez89
08.03.2009, 09.59
mha, non credo che aumenti così le prestazioni per decine di volte magicamente, credo che semplicemente faccia una grande cache, se l'informazione è in memoria il dato è fornito subito, altrimenti deve essere rielaborato, coi i conseguenti ritardi... non viene diminuito il "peso" di mysql, anzi, la memoria verrà sfruttata maggiormente da questo programma che farà da cache... facebook userà sicuramente numerosi cluster mysql per "spalmare" le richieste su più macchine

vadoo
08.03.2009, 09.24
in quanto il mio portale è molto simile alla struttura di facebook lo stavo studindo un po...
a quanto pare anche "facebook" usa memcache, perchè mi sembrava strano assai che millioni di utenti navigano facilmente su php+mysql(o fbsql), infatti anche loro hanno installato la memcache che aumenta le prestazioni in decine di volte


vorrei sapere da un tecnico di ovh se è possibile in qualchè modo installare su un server RPS con SO gentoo ho devo vedere qualkè altro server, grazie

vadoo
25.02.2009, 21.27
Citazione Originariamente Scritto da bago
"no, niente... non va." cosa significa? che errore ti da? hai provato sia memcached -u root che memcached -u nobody (o un altro utente senza privilegi che hai nella macchina).

Non mi pare che memcache abbia bisogno di cose particolari nel kernel, quindi dovresti riuscire a metterlo anche in un RPS.
si ho provato...

senti, non è che per caso mi potresti aiutare a configurare per benino il mio RPS?
perchè sinceramente non ancora abbastanza esperienza per muovermi in ambienti linux...

Max
25.02.2009, 19.34
se ho letto bene sul sito di memcached, praticamente poi devi riscrivere l'applicativo che vuoi utilizzare implementando un API che richiami prima in memcached e poi se la riposta è negativa (ovvero non cel'ha in cache) passa alla richiesta al db vero e proprio.

E così o sbaglio?

bago
25.02.2009, 12.11
"no, niente... non va." cosa significa? che errore ti da? hai provato sia memcached -u root che memcached -u nobody (o un altro utente senza privilegi che hai nella macchina).

Non mi pare che memcache abbia bisogno di cose particolari nel kernel, quindi dovresti riuscire a metterlo anche in un RPS.

vadoo
25.02.2009, 11.52
no, niente... non va.
credo che non si può installare memcache su RPS
chiedo ai tecnici di confermarmi

sypher
23.02.2009, 11.17
intendo che probabilmente è un programma che NON vuole essere eseguito come root (privilegi massimi).

aggiungi un utente normale, e fallo girare con quello.
tipo,

useradd utentenormale
poi memcached -u utentenormale

MA NN SONO SICURO CHE SIA QUESTO! ...
Questo è quello che sembra dal messaggio di errore, ma non ho letto il manuale e non so nemmeno cosa sia memcached.

Quello che consiglio a te, è di leggere il manuale di memcached e riprovare! (o assumere un sysadmin che ti stia dietro alla macchina ... dato il numero di richieste sul forum, e dal prezzo ormai irrisorio di ovh per i kimsufi stavo giusto pensando se mettermi sul mercato come tale! )

vadoo
23.02.2009, 11.07
grazie sypher per la risposta.

non ho capito bene cosa vuoi dire?
intendi "/usr/local/bin/memcached -u root"?

sypher
23.02.2009, 10.17
mi pare un programma che si riufiuta di partire come root. ergo, fallo partire da utente normale o specifica -u utente_normale ...

vadoo
23.02.2009, 10.11
allora, ho trovato una piccola guida in inglese e la posto qui:

Install Libevent 1.3e

I will assume that you don’t have libevent installed already on your system. Your system might already have libevent installed, but normally you will have a very old version (for ex. on debian etch the packaged libevent is 1.1a that was released in 2005); in this case you will want to remove the system package first (for ex. on debian run: aptitude purge libevent1). If you have a recent version packaged by your linux distribution you should keep it and move on the next step to install directly memcached.

Download, and install the latest version of libevent (check for the latest version, and change if needed the versions bellow):
cd /usr/local/src
wget http://monkey.org/~provos/libevent-1.3e.tar.gz
cd libevent-1.3e
./configure
make
make install

This will install by default the libraries under /usr/local/lib/. If you want it in another place you can do that by passing to configure a different prefix.

Depending on your system you might have already /usr/local/lib included in your ld configuration. If this is not the case (like on my test debian box) you can add it inside /etc/ld.so.conf, or as a nice debian “thing†you can just create a new file inside /etc/ld.so.conf.d/ like:

vim /etc/ld.so.conf.d/libevent.conf
##add a line containing:
/usr/local/lib/

Regardless of your choice you should run ldconfig to complete this step:
ldconfig -v
(and check the output to be sure that the /usr/local/lib has been properly included).
Install Memcached 1.2.4

After we have libevent properly installed on the system we can proceed and install memcached. Download the latest stable version and install it using the following steps:

cd /usr/local/src
wget http://danga.com/memcached/dist/memcached-1.2.4.tar.gz
tar zxvf memcached-1.2.4.tar.gz
cd memcached-1.2.4
./configure
make
make install

The memcached binary will be also installed by default under /usr/local/bin/. You can start the daemon by simply running: /usr/local/bin/memcached. The basic memcached options are:
memcached -d [-m memory_in_megabytes [-l listen_ip_address [-p listen_port]]]
For ex:
memcached -d -m 256 -u nobody -p 11211 -l 192.168.0.1
will be used to run a memcached daemon bind on 192.168.0.1 on the default port 11211 using max 256MB memory.
ho fatto esattamente tutto ciò che c'è scritto, alla fine mi ha dato un errrore (io uso rps3 con gentoo linux) quando eseguo questo commando:
/usr/local/bin/memcached
"can't run as root without the -u switch"

come si risolve questo problema?

vadoo
23.02.2009, 00.40
Ho sentito parlare molto bene di questa tecnologia... riesce a ridurre il pesso su MySQL drasticamente aumentando di numero le prestazioni.

chiedere gentilmente a qualche esperto di fornire una piccola guida su come installa "memcached" su gentoo linux