NFsec Logo

Rozszerzenie ipset dla iptables

08/11/2014 w Bezpieczeństwo Możliwość komentowania Rozszerzenie ipset dla iptables została wyłączona

P

rzez długi czas firewall w Linuksie oparty o iptables nie miał żadnego efektywnego sposobu, aby dopasowywać reguły do zbiorów adresów IP. Jeśli mieliśmy wiele adresów IP, aby dopasować do nich różne reguły (na przykład: setki lub tysiące adresów IP, które należało trzymać z daleka od portu SMTP) trzeba było tworzyć jeden wpis iptables dla każdego adresu IP, a następnie wprowadzać te wpisy sekwencyjnie. To wprowadzało wiele komplikacji w utrzymywanie takiego rozwiązania. Na szczęście w jądrach od serii 2.6.39 (Ubuntu 12.04, 14.04, Fedora 20, RHEL / CentOS 7) pojawiło się rozszerzenie ipset.
[ czytaj całość… ]

Zredukowanie ilości połączeń do serwerów memcache

30/01/2014 w Administracja 1 komentarz.

T

wemproxy (wymawiane „two-em-proxy”) lub nutcracker jest szybkim i lekkim proxy dla protokołów memcached (ascii) oraz redis. Został zbudowany przez programistów z firmy Twitter w celu zredukowania ilości połączeń do serwerów cache znajdujących się w backendzie. Przy dużej ilości serwerów frontowych łączność z warstwą cache lub systemem sesji za pomocą normalnej komunikacji może być bardzo kosztowny.
[ czytaj całość… ]

Przyśpieszanie polecenia: grep

17/12/2013 w CmdLineFu 1 komentarz.

C

iekawy trick zaprezentowany przez Brendan’a Gregg’a z firmy Joyent w przemówieniu na konferencji LISA 13 pt. Blazing Performance with Flame Graphs. Wyniki testu mogą zależeć od wielkości testowanego pliku i rodzaju szukanej fazy:

# export | grep LANG
declare -x LANG="pl_PL.UTF-8"
# du -h access.log.1
436M	access.log.1
# time grep -i 500 access.log.1 > /dev/null
real	0m38.765s
user	0m31.506s
sys	0m0.420s
# echo 3 > /proc/sys/vm/drop_caches
# time LANG=C grep -i 500 access.log.1 > /dev/null
real	0m21.762s
user	0m0.636s
sys	0m0.268s

Więcej informacji: Make grep 50x faster

Web performance – DNS Prefetching

21/01/2013 w Techblog Możliwość komentowania Web performance – DNS Prefetching została wyłączona

D

NS Prefetching polega na próbie rozwiązania innej nazwy domenowej przed kliknięciem użytkownika na link znajdujący się w tej domenie. Co to oznacza w praktyce? Na przykład strona nfsec.pl hostuje wszystkie swoje pliki graficzne za pomocą usługi CDN (ang. Content Delivery Network) w domenach img(1|2|3).nfsecstatic.pl oraz używa API pod adresem api.nfsec.pl. Jeśli na stronie głównej lub podstronach strony nfsec.pl będą znajdowały się aktywne linki lub zasoby wykorzystujące w/w nazwy domenowe – to dopiero w momencie kliknięcia użytkownika na wybrany link lub odwołanie się do konkretnego zasobu (np. wyświetleniu obrazka) – przeglądarka dokona rozwiązania DNS, czyli przetłumaczenia nazwy domenowej na konkretny adres IP.
[ czytaj całość… ]

VMtouch – do cache’u z nim!

27/10/2012 w Administracja Możliwość komentowania VMtouch – do cache’u z nim! została wyłączona

P

amięć cache w systemie Linux jest bardzo przydatna – potrafi wykorzystać nieużywaną pamięć RAM (nie zabierając żadnych zasobów od uruchomionych aplikacji), aby zwiększyć szybkość dostępu do obiektów znajdujących się na dysku. Prosty przykład:
[ czytaj całość… ]

Poprawa odpytywania serwerów DNS

13/09/2012 w Administracja Możliwość komentowania Poprawa odpytywania serwerów DNS została wyłączona

S

ystemy linuksowe wyposażone są w lokalny resolver, który jest odpowiedzialny za tłumaczenie żądań programów o informacje o hostach w zapytania dla serwerów DNS oraz przekształcanie ich odpowiedzi w informacje dla tychże programów. Od wersji BIND 8.2 możemy dodać kilka nowych opcji do reslover’a, które teoretycznie mogą poprawić nam czasy odpowiedzi i wykorzystanie więcej niż jednego serwera DNS. Poniżej znajduje się przykładowy plik konfiguracyjny /etc/resolv.conf, który zawiera wpisy:
[ czytaj całość… ]

Slow Start tuning nie tylko dla jądra 3.2

22/04/2012 w Administracja, Debug 1 komentarz.

W

edług protalu webhosting.pl od wersji 3.2 jądra Linuksa został zwiększony rozmiar okna ograniczenia przesyłu (ang. the initial congestion window) z 3 do 10. Sam Saffron po wykonaniu kilku testów udowodnił, że tuning mechanizmu Slow-start pozwala na przyśpieszenie ładowania strony WWW (jeśli zastosujemy zmiany na maszynie pełniącej rolę web serwera) nawet do 25% – bez żadnej ingerencji w warstwę aplikacji. Podobne testy przeprowadzili technicy wyszukiwarki Cheméo uzyskując w własnych warunkach 20% przyśpieszenie. Czy osoby pragnące wprowadzić podobne zmiany skazane są na oczekiwanie, aż popularne dystrybucje zaczną używać jądra w wersji 3.2 – jak np. Ubuntu 12.04?
[ czytaj całość… ]

Konfiguracja serwera Apache względem .htaccess, a jego wydajność

18/03/2012 w Administracja 1 komentarz.

W

iększość współdzielonych konfiguracji hostingowych zezwala na używanie plików .htaccess w określonych ścieżkach, gdzie przetrzymywane są strony klientów. Tyczy się to również konfiguracji przewidzianych dla dedykowanych projektów. Jak wynika z obserwacji Dawida Golunskiego przeniesienie konfiguracji z plików .htaccess (i tym samym ominięcia konieczności ich używania) do plików konfiguracyjnych hostów wirtualnych może przynieść zwiększenie wydajności serwera WWW do około 6.6% (w zależności od środowiska testowego i produkcyjnego wartość ta może być mniejsza lub większa).
[ czytaj całość… ]

Sterowanie przerwaniami sprzętowymi w systemie Linux

24/06/2011 w Administracja Możliwość komentowania Sterowanie przerwaniami sprzętowymi w systemie Linux została wyłączona

Z

a każdym razem, kiedy część naszego sprzętu komputerowego takiego jak np. dysk twardy, czy karta sieciowa – wymaga poświęcenia uwagi ze strony procesora (CPU) – wywołuje przerwanie (ang. interrupt) lub żądanie przerwania (IRQInterrupt ReQuest). Przerwanie takie „mówi” procesorowi, że właśnie zaistniało pewne zdarzenie, które musi zostać natychmiast obsłużone – dlatego procesor powinien porzucić swoją dotychczasową pracę i zająć się tym zdarzeniem. W celu uniknięcia zgłaszania przez wiele urządzeń tych samych przerwań, system IRQ został tak zaplanowany, aby każde urządzenie w systemie komputerowym posiadało swój własny, specjalny nr przerwania, czyniący go niepowtarzalnym.
[ czytaj całość… ]

Akceleracja sprzętowa w Google Chrome

19/05/2011 w Techblog Możliwość komentowania Akceleracja sprzętowa w Google Chrome została wyłączona

G

oogle Chrome posiada możliwość uruchomienia akceleracji GPU, czyli pełne wykorzystanie możliwości karty graficznej podczas oglądania stron internetowych i aplikacji na nich umieszczonych. Na przykład przeprowadzając test w serwisie FishTank bez aktywnej akceleracji GPU, a na procesorze Intel(R) Xeon(R) 5130 @ 2.00GHz i rozmiarze okna 1280 x 909 uzyskano następujące wyniki:
[ czytaj całość… ]