Archiwa tagu: vps

Optymalizacja zużycia RAM przez MySQL na serwerze

MySQL od wersji 5.6 ma domyślnie włączone performance_schema, które bardzo lubi konsumować RAM. Oczywiście poniekąd jest to dobre, bo czas dostępu się zmniejsza i jak to zauważył michal_s na kanale #wordpress-pl (@freenode.net), to „RAM jest wyłącznie po to, aby go używać„. Zgadzam się z tym w 100%. Jednakże w przypadku serwerów, na których mamy nieco mniejsze zaplecze, a baza zaczyna pochłaniać pamięć – pasuje coś z tym zrobić.

I tak w moim przypadku użycie RAMu przez MySQL (samego procesu MySQL) sięgało 600-700 MB, gdzie cały VPS posiada 1 GB. Dochodziło do sytuacji, gdzie ubijane były procesy, a sama baza się też wyłączała. Po niżej opisanych zabiegach zoptymalizowałem wykorzystanie pamięci do ~200 MB (ogółem, a nie samej bazy).

Nie jest to opis z serii „jestem pro wyjadaczem”, więc nie spodziewajcie się wodotrysków. Publikuję tutaj jedynie kilka zmian w domyślnej konfiguracji, które optymalizują wykorzystanie RAM.

Nieco inne podejście do chmury z BTSync

Swego czasu testowałem rozwiązanie OwnCloud na serwerze, by postawić swoją własną, prywatną chmurę, do wymiany danych. Coś mi jednak nie przypasiło w niej i rozstaliśmy się. Od kilku dni testuję nieco inne rozwiązanie, które daje mi zbliżoną funkcjonalność – synchronizację danych między urządzeniami, bez limitów. Uruchomienie, instalacja, użytkowanie jest proste jak budowa cepa.


Cofanie instalacji paczek w CentOS 6

Zapewne nie jestem jedyną osobom, której zdarza się czasem zainstalować jakiś program na serwerze tylko po to, by go sprawdzić, a potem mieć problem z usunięciem zarówno jego, jak i jego zależności. Można wykonać:

yum remove paczka

Jednakże nie zostaną usunięte zależności paczki.

Skorzystać można też z package-cleanup z paczki yum-utils poprzez wykonanie:

package-cleanup --leaves --all #samo leaves wyświetli listę sierot

Jednak to też nie jest rozwiązanie, którego potrzebujemy.


Aktualizacja PHP i MySQL na CentOS 6

Bardzo chwalę sobie CentOSa jako system pod server/VPS. Narzekać można jedynie często na dość stare paczki. Można to prosto rozwiązać dodatkowymi repozytoriami i podmianą paczek. W tym wpisie, krótki opis.


Serwer XMPP (Openfire) na CentOS

Wiele kombinowania podczas instalacji nie ma. Więcej czasu schodzi na konfigurację „pod siebie” i DNSy. Dla CentOS przygotowana jest paczka RPM zawierająca Javę, więc i tutaj nie musimy wiele kombinować.

Pobieranie i instalacja

Openfire pobieramy ze strony http://www.igniterealtime.org/downloads/index.jsp, lub bezpośrednio poprzez:

wget http://www.igniterealtime.org/downloadServlet?filename=openfire/openfire-3.9.3-1.i386.rpm -Oopenfire-3.9.3-1.i386.rpm
Do instalacji potrzebujemy bazy MySQL, więc należy utworzyć wcześniej użytkownika i bazę dla Openfire. Nie jest to jednak wymagane, bo z tego co zdążyłem zauważyć, to Openfire może działać na wbudowanej bazie.

A następnie instalacja:

rpm -ivh openfire-3.9.3-1.i386.rpm

Po zakończonej instalacji w przeglądarce wpisujemy adres serwera (IP, domena) z portem 9090. Np. http://127.0.0.1:9090. Tam przechodzimy przez kolejne kroki instalacji, a później konfiguracji.

Konfiguracja DNS

_jabber._tcp.DOMENA.PL IN SRV 10 0 5269 xmpp.DOMENA.PL.
_xmpp-client._tcp.DOMENA.PL IN SRV 10 0 5222 xmpp.DOMENA.PL.
_xmpp-client._tcp.proxy.DOMENA.PL IN SRV 10 0 5222 xmpp.DOMENA.PL.
_xmpp-client._tcp.pubsub.DOMENA.PL IN SRV 10 0 5222 xmpp.DOMENA.PL.
_xmpp-client._tcp.vjud.DOMENA.PL IN SRV 10 0 5222 xmpp.DOMENA.PL.
_xmpp-server._tcp.DOMENA.PL IN SRV 10 0 5269 xmpp.DOMENA.PL.
_xmpp-server._tcp.proxy.DOMENA.PL IN SRV 10 0 5269 xmpp.DOMENA.PL.
_xmpp-server._tcp.pubsub.DOMENA.PL IN SRV 10 0 5269 xmpp.DOMENA.PL.
_xmpp-server._tcp.vjud.DOMENA.PL IN SRV 10 0 5269 xmpp.DOMENA.PL.
xmpp.DOMENA.PL IN A ADRES IP

Teraz musimy czekać, jak DNSy się odświeżą. Jeśli wszystko jest zrobione jak należy, to po odblokowaniu portów w firewallu: 5222, 5269, 7777 wszystko powinno działać prawidłowo. Jeśli chcecie zezwolić tylko na komunikację wewnętrzną to wystarczy odblokować tylko port 5222.

Openfire radzi sobie wyśmienicie z opisywanym niedawno GTalkSMS.