NFsec Logo

Kiedy URI hash load balancing zawodzi

27/01/2014 w Administracja, Debug Możliwość komentowania Kiedy URI hash load balancing zawodzi została wyłączona

Z

ałóżmy, że chcemy na naszą aplikację webową nałożyć warstwę cache w celu przyśpieszenia jej działania, zredukowania serwerów front-endowych i odciążenia back-endu. W zależności od skali ruchu sieciowego i wielkości naszej aplikacji – jeden serwer typu proxy cache czasami nie wystarczy. Przyjmijmy, że skala wymaga pięciu serwerów typu cache (wykorzystajmy Varnish’a). Bez sensu jest postawienie przed tymi serwerami urządzenia lub aplikacji do wykonywania load balancingu w trybie round robin, ponieważ spowoduje to powielanie obiektów w pamięci cache serwerów i nieoptymalne ich wykorzystanie.
[ czytaj całość… ]

Ograniczanie dostępu do MongoDB w środowisku chmury

23/12/2013 w Administracja, Bezpieczeństwo Możliwość komentowania Ograniczanie dostępu do MongoDB w środowisku chmury została wyłączona

A

ktualnie baza MongoDB (v2.4.8) nie posiada możliwości ograniczenia dostępu do wybranych adresów IP na poziomie warstwy aplikacji. Mechanizmem, który można szybko do tego wykorzystać jest netfilter. Daje się on szybko dostosować szczególnie w środowisku wirtualizacji, w którym maszyna wirtualna posiada zmienny, wewnętrzny adres IP na interfejsie eth0 – a jej zewnętrzny adres przechodzi przez mechanizm NAT.
[ czytaj całość… ]

Najszybsza metoda usunięcia 1000000 plików z katalogu

03/06/2013 w Administracja, Debug Możliwość komentowania Najszybsza metoda usunięcia 1000000 plików z katalogu została wyłączona

J

aki sposób usunięcia 1.000.000 plików (o wielkości 0 bajtów każdy) z pojedynczego katalogu jest najszybszy? Ostatnio wątek ten został poruszony na serwisie Quora. Zamiast używać popularnych poleceń typu rm + find + xargs – użytkownik Zhenyu Lee zaproponował użycie polecenia rsync z pustym katalogiem jako źródłowym.
[ czytaj całość… ]

Sprawdzanie ilości rekordów w tabeli przy pomocy information_schema

21/05/2013 w Administracja 1 komentarz.

J

eśli chcemy sprawdzić ilość rekordów w danej tabeli, a nie katować bazy (przy bardzo dużej ilości wpisów) kolejnym zapytaniem w stylu: select count(*) – możemy wykorzystać information_schema:

mysql> use information_schema;
mysql> select table_rows from tables where table_name = 'tabela';

Więcej informacji: INFORMATION_SCHEMA

Monitoring kluczy memcache w czasie rzeczywistym

04/05/2013 w Administracja Możliwość komentowania Monitoring kluczy memcache w czasie rzeczywistym została wyłączona

S

erwis tumblr, który bardzo mocno polega na rozwiązaniu memcached stworzył własne narzędzie o nazwie memkeys do monitoringu użycia kluczy. Wcześniejsze, podobne narzędzie o nazwie mctop posiadało bardzo przykrą wadę – m.in. pod dużym obciążeniem sieciowym potrafiło zgubić od 50 do 75% śledzonych kluczy. Nowe narzędzie Tumblr pod tym samym obciążeniem opuszcza mniej niż 3 procent wyłapanych pakietów (na maszynie wysycającej 1Gb łącza sieciowego).
[ czytaj całość… ]

Logowanie przez log4j w tomcat7 na przykładzie systemu Ubuntu 12.04.2 LTS

02/05/2013 w Administracja Możliwość komentowania Logowanie przez log4j w tomcat7 na przykładzie systemu Ubuntu 12.04.2 LTS została wyłączona

S

tandardowo w systemie Ubuntu 12.04.2 LTS jest zainstalowany Tomcat7 w wersji 7.0.26. Niestety jednym z ogólnych problemów serwera Tomcat jest rotowanie pliku catalina.out, który czasami (w zależności od poziomu logowania) potrafi zajmować po kilka gigabajtów – a użycie narzędzia logrotate z opcją copytruncate na tak dużym pliku potrafi spowodować, że zanim logrotate dokona skopiowania i wyczyszczenia pliku – inny proces trzymający otwarty plik dokona zapisu, a miejsce nie zostanie wcale zwolnione.
[ czytaj całość… ]

Lepsze wyszukiwanie w bashu

18/04/2013 w Administracja 1 komentarz.

W

yszukiwanie poprzednich poleceń w powłoce bash zazwyczaj ogranicza się do użycia kombinacji klawiszy Ctrl+R. Możemy również trochę zmienić sposób wyszukiwania poprzez stworzenie w swoim katalogu pliku: ~/.inputrc i umieszczeniu w nim zawartości:
[ czytaj całość… ]

Obraźliwe sudo!

10/03/2013 w Administracja Możliwość komentowania Obraźliwe sudo! została wyłączona

P

odczas grzebania w pliku /etc/sudoers i czytaniu dokumentacji polecenia sudo natknąć można się na opcję: insults (ang. obrzucać (kogoś) oszczerstwami). Jak podaje dokumentacja sudo – gdy opcja ta zostanie aktywowana (standardowo wyłączona), a użytkownik wprowadzi niepoprawne hasło do podwyższenia uprawnień za pomocą sudo – te w komunikacie błędu „ośmieszy” użytkownika:
[ czytaj całość… ]

AWS EC2 Elastic Load Balancer HTTPS Redirect

22/02/2013 w Administracja Możliwość komentowania AWS EC2 Elastic Load Balancer HTTPS Redirect została wyłączona

P

oniższe reguły mod_rewrite pozwalają na przekierowanie całego ruchu HTTP na HTTPS na serwerach Apache utworzonych w ramach AWS EC2 – wykorzystując nagłówek X-Forwarded-Proto dostarczany przez Load Balancer:

  RewriteEngine On
  RewriteCond %{HTTP:X-FORWARDED-PROTO} !https [NC]
  RewriteCond %{REQUEST_URI} !^/status\.php
  RewriteRule ^/?(.*) https://domena.pl/$1 [R=301,L]

Gdzie URL http://domena.pl/status.php jest sprawdzana przez Health Checker w celu stwierdzenia, czy dany serwer WWW jest reponsywny – dlatego została wykluczona z przepisywania.

Więcej informacji: Elastic Load Balancing Concepts and Terminologies

Varnish Agent – webowy interfejs dla serwera Varnish

28/01/2013 w Administracja Możliwość komentowania Varnish Agent – webowy interfejs dla serwera Varnish została wyłączona

K

ristian Lyngstøl wydał Varnish Agent. Jest to RESTowy interfejs do kontroli serwera Varnish używający protokołu HTTP. Interfejs ten składa się z font-endu napisanego w HTML / JavaScript oraz agenta napisanego w języku C. Przy standardowej konfiguracji serwera varnish – agent nie wymaga żadnej konfiguracji. Dla systemów Debian oraz Ubuntu dostępne są już stworzone pakiety przez autora. Dla systemów z rodziny RedHat znajdziemy plik .spec pozwalający na stworzenie własnego pakietu RPM. Za pomocą agent’a w bardzo prosty sposób jesteśmy w stanie m.in: wyświetlać oraz zmieniać parametry serwera, pobierać dane statystyczne w formacie JSON, wgrywać i pobierać pliki konfiguracyjne VCL, czy startować i zatrzymywać serwer.

Więcej informacji: Varnish Software