Fórum Ubuntu CZ/SK

Ostatní => Ubuntu Server => Téma založeno: tomtomas 22 Února 2013, 19:40:57

Název: Ubuntu server - problém RAM, Apache, MySQL
Přispěvatel: tomtomas 22 Února 2013, 19:40:57
Zdravím,
na mém Ubuntu server 12.04 mám poměrně veliký problém. Na serveru běží webserver (apache2 + mysql) a při každé refreshi webu se přidá nový proces a nezavře se, a když je plná ram (512MB) i swap (700MB) tak musím server restartovat, cpu pak běží taky na 100%. Tzn. kdokoli mi vleze na web a podrží F5 tak to padne a já to musím restartovat. Nevíte prosím čím by to mohlo být?

Děkuji předem.
Název: Re:Ubuntu server - problém RAM, Apache, MySQL
Přispěvatel: František Zatloukal 22 Února 2013, 21:16:31
Pro začátek je potřeba vyloučit chybu na straně otevíraného webu.
Vytvořte nějaký jednoduchý html soubor a zkuste refreshovat.
Pokud se problém neopakuje, tak je chyba na straně webu.
Pokud se opakuje, tak zkuste přeinstalovat apache.

(dle mého názoru je 512MB RAM na provozování webu s MySQL poměrně málo)
Název: Re:Ubuntu server - problém RAM, Apache, MySQL
Přispěvatel: tomtomas 22 Února 2013, 22:17:49
Běží na tom 3 Wordpressy zcela bez problémů asi půl roku. Když refreshuji HTML soubor nic se neděje, ale když už se jedná o php tak to zůstává ten proces nezavřený.

Přeinstalovat apache by bylo asi fajn, ale nevím jak, protože sudo apt-get autoremove ani podobné příkazy jej prostě nesmažou. (Původně instalováno přes tasksel).
Název: Re:Ubuntu server - problém RAM, Apache, MySQL
Přispěvatel: František Zatloukal 22 Února 2013, 22:45:35
Zkuste tohle:
Kód: [Vybrat]
sudo apt-get purge apache2 php5 && sudo apt-get install apache2 php5
Pokud by náhodou nešlo php vůbec, tak jej doinstalujte takto:
Kód: [Vybrat]
sudo apt-get install libapache2-mod-php5
sudo service apache2 restart

Po provedení výše uvedených příkazů dojde ke kompletnímu vymazání veškerých nastavení apache a php. Pokud chcete prvně zkusit reinstalaci bez vymazání nastavení, tak jen místo purge použijte remove.
Název: Re:Ubuntu server - problém RAM, Apache, MySQL
Přispěvatel: tomtomas 23 Února 2013, 15:58:15
Dobrá, když zadám tyto příkazy tam databáze předpokládám zůstanou zachovány, jak to, ale bude se složkou /var/www?
Název: Re:Ubuntu server - problém RAM, Apache, MySQL
Přispěvatel: František Zatloukal 23 Února 2013, 22:05:13
Není nic jednoduššího než si ji před instalací zálohovat.
Kód: [Vybrat]
sudo cp -R /var/www /var/zaloha
Název: Re:Ubuntu server - problém RAM, Apache, MySQL
Přispěvatel: tomtomas 24 Února 2013, 15:53:05
Záloha provedena (mělo mě to napadnout hned :D).

Divné, ale je, že poté co zadám tento příkaz:
Kód: [Vybrat]
sudo apt-get purge apache2 php5 && sudo apt-get install apache2 php5
a restartuji server, weby jedou dál jako by se nic nestalo. Dohromady se odstranilo pouze nějakých 18MB... takže jsem z toho trochu zmaten.

Tzn. problém stále trvá :(...
Název: Re:Ubuntu server - problém RAM, Apache, MySQL
Přispěvatel: František Zatloukal 24 Února 2013, 16:59:35
Divné, můžeš zkusit ještě tohle
1. nahrejte na server tento jednoduchý php soubor a zkuste, jej otevřít
Kód: [Vybrat]
<?php
echo "Nějaký php kód, co otestuje server";
?>

2. nainstalujte si lamp u sebe a spusťte weby na localhostu

Nevím proč, ale mám pocit, že chyba je někde na straně wp(v tom případě by ale mělo po timeoutu dojít k zabití php scriptu a ukončení apache procesu)  ???
Nic jiného mne už nenapadá.
Název: Re:Ubuntu server - problém RAM, Apache, MySQL
Přispěvatel: tomtomas 24 Února 2013, 17:01:42
Nakonec jsem to pomocí tohoto příkazu odinstaloval:

Kód: [Vybrat]
sudo apt-get purge apache2 apache2-mpm-prefork apache2-utils apache2.2-bin apache2.2-common libapache2-mod-php5
a pomocí

Kód: [Vybrat]
sudo apt-get install apache2 apache2-mpm-prefork apache2-utils apache2.2-bin apache2.2-common libapache2-mod-php5
to mi, ale bohužel vyhazuje chybu:

Kód: [Vybrat]
.....
Processing triggers for man-db ...
Processing triggers for ureadahead ...
Processing triggers for ufw ...
Setting up apache2.2-bin (2.2.22-1ubuntu1.2) ...
Setting up apache2-utils (2.2.22-1ubuntu1.2) ...
Setting up apache2.2-common (2.2.22-1ubuntu1.2) ...
ERROR: Module alias not properly enabled: /etc/apache2/mods-enabled/alias.load is a real file, not touching it
dpkg: error processing apache2.2-common (--configure):
 subprocess installed post-installation script returned error exit status 1
E: Sub-process /usr/bin/dpkg returned an error code (1)

a apache už nejede vůbec...

EDIT: Tak to už jsem také vyřešil, nic mi žádnou chybu nevyhazuje a balíky co jsem odstranil jsem nainstaloval zpět.

Problém to, ale dělá ten samý, jdu zkusit reinstalovat php5...

EDIT 2: PHP5  reinstalováno a stále nic... pořád když podržím F5 na php webu tak to "zasere" ram a server musím restartovat...
Název: Re:Ubuntu server - problém RAM, Apache, MySQL
Přispěvatel: starenka 24 Února 2013, 18:05:54
- odrez z php vsechny extensions, ktery nepotrebujes (co mas nainstalovano zjistis
Kód: [Vybrat]
dpkg --get-selections | grep php5 nemyslim si, ze bys potreboval neco vic nez tohle:
Kód: [Vybrat]
php5-cgi install
php5-cli install
php5-common install
php5-curl install
php5-gd install
php5-mysql install
php5-xsl install

- zvazit, jesli (pokud to tak je - a myslim si ze jo) je dobrej napad to jed pod mod-php a nezkusit treba php-fpm, pripadne se uplne vysrat na apache a jit do nginx/php-fpm

- snizit pocet procesu apache, treba i snizit pocet requestu po kterym se proces apache reloadne, pripadne nastavit v tech phpkach memory_limit na nejakou normalni hodnotu

- zkusit nahodit novejsi verzi php (dotdeb.org)

- vim ja, pomuze asi cokoliv - podle toho, ze ti to zere i cpu, mas tam asi neco narocnejsiho (vypocty, db?) - memcache, redis, nebo aspon nejaka cache ti urcite neuskodi
Název: Re:Ubuntu server - problém RAM, Apache, MySQL
Přispěvatel: tomtomas 24 Února 2013, 18:11:07
Jsou tam právě databáze a jak to teď tak pozoruji tak zůstávají otevřeny právě ty a nezavírají se, takže asi ony vyžírají ram....

Tzn. něco s MySQL?
Název: Re:Ubuntu server - problém RAM, Apache, MySQL
Přispěvatel: starenka 24 Února 2013, 18:18:25
moc nechapu teda, predtim si mluvil o apachi. takze to dela mysql server?

zkus pomalu menit nastaveni mysql:
- zmensovat nejak rozumne - key_buffer, thread_stack, max_connections, table_cache, query_cache_size
- vypnout slowlog a binlog, pokud bezi
- pokud mas zaplej slow log, tak se podivej, jesli tam nejsou nejaky uber dotazy co zerou hodne casu, pak je kdyztak pripadne zkus nejak zomptimalizovat / pouzit lepsi indexy atd..

a taky:
- v php pouzivat pconnect namisto connect (permanentni spojeni) - sory uz sem php to delsi dobu nevidel, tak nevim, co tam ted frci
- jak sem psal, pouzivat cache(!) - memcache, redis, filecache..

hele je to takovy strileni od boku, treba bych z dotdebu taky zkusil nejaky novejsi mysql, pokud je
Název: Re:Ubuntu server - problém RAM, Apache, MySQL
Přispěvatel: tomtomas 24 Února 2013, 18:31:47
No mě se právě zdá vše normální, je to v podstatě default konfigurace...

Mimochodem poslal jsem ti SZ :)...

EDIT: Přikládám screen a můžete posoudit sami...

[příloha smazaná administrátorem]