Napisał: Patryk Krawaczyński
02/10/2015 w Administracja, Debug
O
statnio podczas testów linków 10G zauważyłem ciekawą zależność. Testując różne wersje jądra w systemie Ubuntu 12.04 ze względu na różne problemy z obsługą systemu plików ext4 na świat wyszedł inny błąd powiązany z sterownikiem sieciowym. Dla wersji jądra: Linux darkstar 3.13.0-32-generic #57~precise1-Ubuntu SMP test linków za pomocą iperf prezentuje się następująco:
[ czytaj całość… ]
Napisał: Patryk Krawaczyński
08/11/2014 w Bezpieczeństwo
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ść… ]
Napisał: Patryk Krawaczyński
30/01/2014 w Administracja
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ść… ]
Napisał: Patryk Krawaczyński
17/12/2013 w CmdLineFu
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
Napisał: Patryk Krawaczyński
21/01/2013 w Techblog
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ść… ]
Napisał: Patryk Krawaczyński
27/10/2012 w Administracja
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ść… ]
Napisał: Patryk Krawaczyński
13/09/2012 w Administracja
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ść… ]
Napisał: Patryk Krawaczyński
22/04/2012 w Administracja, Debug
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ść… ]
Napisał: Patryk Krawaczyński
18/03/2012 w Administracja
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ść… ]
Napisał: Patryk Krawaczyński
24/06/2011 w Administracja
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 (IRQ – Interrupt 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ść… ]
Ostatni komentarz :