Projekty w szczegółach: punkt wyjścia, co nie było oczywiste i zmierzony wynik

Projekty z naszej pracy: punkt wyjścia klienta, kroki, problemy, które nie były oczywiste, i wyniki z liczbami z logów i pomiarów. Każda karta kończy się powiązanymi sytuacjami i pierwszym krokiem.

Siedem kart projektów w dwóch rzędach, każda z polem rysunku i dwiema liniami tekstu; jedna karta w pierwszym rzędzie jest pomarańczowa

Od diagnozy do zmierzonego wyniku

  • Dwadzieścia czarnych pasków w schodach do 30 s pod session_start() i te same dwadzieścia pasków na pomarańczowo obok siebie do 1,5 s pod + session_write_close()

    PHP 8.2 i limit 30 sekund: strony czekały na blokadę sesji

    Portale internetowe · 4 godziny

    Po migracji z PHP 7.4 na PHP 8.2 ta sama strona raz ładowała się normalnie, a raz kończyła się błędem po 30 sekundach. Odtworzyliśmy obie wersje obok siebie i znaleźliśmy przyczynę: około 20 równoległych wywołań AJAX jednego użytkownika czekało po kolei na blokadę pliku sesji. Naprawione jedną linią na skrypt, bez przepisywania aplikacji.

  • Trzy tory z pola kropek kończą się na pomarańczowym murze z podpisem WAF; jeden tor od laptopa przechodzi przez przerwę do witryny sklepu

    Sklep zalewany przez boty, które udawały klientów

    Sklep na WooCommerce z 52 produktami ładował się bardzo długo albo wcale. Przyczyną była opłacana sieć botów, która wysyłała dziesiątki tysięcy żądań na godzinę, każde z innego domowego adresu, a każdy bot z osobna zachowywał się wzorowo. Nasi inżynierowie zatrzymali ten ruch na brzegu sieci, a gdy miesiąc później boty zmieniły taktykę, druga reguła zdjęła obciążenie w dwie minuty.

  • Duża pusta ramka z podpisem RAM 40 GB, a w niej mała ramka z podpisem JVM 1 GB pełna klocków, pomarańczowe klocki wychodzą ponad jej krawędź

    ColdFusion pod obciążeniem: diagnoza i naprawa błędu JVM heap space

    Aplikacja Adobe ColdFusion działała bez zarzutu przy niskim ruchu, a w godzinach szczytu zwracała błędy i zwalniała. Zreprodukowaliśmy problem na realnej bazie, zmierzyliśmy dokładny punkt, w którym sterta JVM się wyczerpuje, i naprawiliśmy konfigurację pamięci, z tym samym testem obciążeniowym przed i po jako dowodem.

  • Przeglądarka, ramka z podpisem Apache i trzy tory do PHP, PHP i CFML; tor CFML i jego ramka są pomarańczowe

    Produkcyjny ColdFusion 2025 za Apache: pięć nieoczywistych pułapek

    Przygotowaliśmy produkcyjną instalację Adobe ColdFusion 2025 na Debianie 12, za serwerem Apache 2.4, który obsługuje już kilka innych serwisów. Sama instalacja trwa 34 sekundy. Konektor i łatwe do przeoczenia szczegóły konfiguracji wymagały więcej uwagi: błąd 503 przez IPv6, mapowania sięgające do każdego hosta wirtualnego i profil, który po cichu dokłada debugger.

  • Cztery koperty przechodzą przez bramki SPF, DKIM i DMARC, odhaczone na pomarańczowo, w drodze do skrzynki odbiorczej

    Dostarczalność poczty dla czterech domen firmowych

    Serwer pocztowy czterech domen firmowych niczego nie podpisywał, nie publikował polityki DMARC i był odrzucany przez Microsoft. Nasi inżynierowie sprawdzili go, przetestowali zmianę na jednej domenie i wdrożyli ją partiami. Efekt: wszystkie trzy mechanizmy przechodzą sprawdzenie w Gmailu, blokada Microsoftu została zdjęta, a użytkownicy niczego nie odczuli.

  • Skala punktów z przerywanym progiem: koperta phishingu przechodzi pomarańczowym łukiem przez próg

    Filtr antyspamowy, który działał, ale nie chronił

    Usługi uruchomione, konfiguracja poprawna, w statusie systemu żadnych błędów. A mimo to phishing lądował w skrzynkach odbiorczych, a newslettery partnerów w folderze spam. Nasi inżynierowie zmierzyli, które mechanizmy wykrywania naprawdę działają, usunęli przyczyny, a trzy miesiące później znaleźli i naprawili regresję, którą było widać dopiero w ujęciu godzinowym.

  • Tabela wierszy z długą strzałką przez wszystkie, podpisaną ALL, i jedną pomarańczową strzałką z karty indeksu do pojedynczego wiersza, podpisaną ref

    Indeksy SQL w bazie sklepu: od pełnych skanów do mikrosekund

    Baza sklepu bez indeksów działała, dopóki tabele były małe. Przy 500 tysiącach zamówień i 1,75 miliona pozycji każdy filtr i każdy JOIN schodził do pełnego skanu. Zmierzyliśmy dokładnie, ile kosztują brakujące indeksy, dodaliśmy właściwe i opisaliśmy pułapki, przez które indeks bywa bezużyteczny, choć istnieje.

  • Telefon z kodem QR, plik podzielony na porcje, trzy równoległe strumienie do serwera z dyskiem i siatka galerii

    Aplikacja do zbierania zdjęć od gości weselnych

    Goście weselni skanują kod QR, otwierają jeden sekretny adres i wysyłają zdjęcia oraz filmy prosto z telefonu: bez aplikacji, bez konta, bez logowania. Pliki do 5 GB lądują na dysku klienta, a para młoda ogląda galerię, która zapełnia się jeszcze w trakcie przyjęcia. Jeden wieczór, bez drugiej szansy, i telefony sprzed sześciu lat.

Jak czytać te karty

Każda karta zaczyna się od ogólnego opisu klienta i systemu, bo pełne zaufanie jest ważniejsze niż marketing. To, co karty pokazują, to liczby: z logów, z pomiarów wykonanych przed zmianą i po niej, a tam, gdzie problem został odtworzony w naszym środowisku, karta to mówi.

Każda karta ma zawsze tę samą strukturę: punkt wyjścia, rozwiązanie, zmierzone wyniki, przebieg pracy krok po kroku, wyzwania, które pokonaliśmy, i co z tego wynika. Sekcję o wyzwaniach warto czytać jako pierwszą: wymienia rzeczy, które wyglądały na rozwiązanie, a nim nie były.

Jeśli Państwa sytuacja przypomina jedną z tych kart, powiązane sytuacje na końcu każdej karty prowadzą do pierwszego kroku. Typy systemów, którymi nasi inżynierowie zajmowali się poza tymi projektami, opisuje strona Doświadczenie; przebieg projektu, od rozmowy wstępnej do pisemnego wyniku, strona Jak pracujemy.

Jedna karta projektu: przerywana linia w miejscu nazwy klienta, pole rysunku z kopertą i strzałką oraz trzy wiersze etykieta i wartość, ostatnia wartość pomarańczowa

Pytania o nasze projekty

Przy jakich projektach pracowali Państwo dotąd?

Nasi inżynierowie pracowali przy takich typach systemów:

  • platformy do obsługi kredytów, z wieloma procesami i kanałami sprzedaży, także bezpośrednio dla banków
  • platformy finansowania hipotecznego
  • platformy leasingowe
  • systemy do generowania dokumentów i umów
  • portale wideo ze streamingiem i automatyczną konwersją materiałów
  • serwisy informacyjne i ogłoszeniowe o dużym ruchu
  • serwisy internetowe firm pracujących na zlecenie sektora publicznego, także instytucji kultury

Wybrane projekty opisujemy szczegółowo na stronie projektów, m.in. ColdFusion produkcyjnie i pod obciążeniem, dostarczalność poczty, sklep zalewany przez boty i indeksy SQL w bazie sklepu.

Kiedy mogą Państwo zacząć?

Pierwszą odpowiedź otrzymają Państwo w ciągu jednego dnia roboczego. Kiedy zaczniemy pracę, zależy od bieżącego obłożenia i od zakresu. Powiemy to Państwu wiążąco podczas rozmowy wstępnej. Jeśli sprawa jest pilna, Ocena awaryjna w 48 godzin rozpoczyna się z chwilą, gdy uzyskamy dostęp do systemu.

Co się stanie, gdy u Państwa ktoś będzie niedostępny?

Zastępstwo zapewniamy na życzenie. Dokumentację również przygotowujemy na życzenie, a repozytorium z reguły znajduje się u Państwa, dzięki czemu kod pozostaje w Państwa rękach. Jak współpracujemy, opisuje strona Współpraca.

W 20 minut ustalimy, jaki pierwszy krok pasuje do Państwa systemu

Państwo opisują cel i obecny stan, my mówimy otwarcie, czy i jak możemy pomóc. Odpowiedź w ciągu jednego dnia roboczego, bez zobowiązań.

Telefon (niemiecki, polski, angielski) +48 501 250 220
E-mail E-mail

Dostępni: poniedziałek–piątek, 9:00–17:00 (czas środkowoeuropejski); wsparcie i awarie całą dobę (24/7)