Maksym H.
Oferta, która wygrała- Zlecenia 28
- Ocena 5.0
- Ranking 3 598
Budżet: 1500 UAH Termin: 1 dzień
Cześć!
Problem nie leży w zewnętrznym parserze ani w limitach zapytań — to tylko objawy. Serwer pada z powodu przeciążenia MySQL ciężkimi zapytaniami SQL. Przez 10 lat działało, a teraz zaczęło — najprawdopodobniej baza towarów urosła, cache się zepsuł, a zapytania filtrów przestały nadążać.
Biorę się za to od razu. Szybko zdiagnozuję, znajdę przyczynę i naprawię. Serwer przestanie się zawieszać.
Budżet: 10000 UAH Termin: 10 dni
Na podstawie dostarczonego zrzutu ekranu htop można wyciągnąć wniosek, że twój serwer znajduje się w stanie krytycznego przeciążenia. Jako administrator zarządzający systemami z uprawnieniami root prawdopodobnie już zauważyłeś znaczną opóźnienie (lag) w działaniu. Oto szczegółowa analiza kluczowych wskaźników: 1. Ekstremalne obciążenie (Load Average) Load Average: 47.53, 44.80, 44.96. System ma 4 rdzenie (wątki), co widać z górnych wskaźników (1-4). Dla 4-rdzeniowego systemu normalny Load Average powinien wynosić w granicach 4.0. Wskaźnik 47.53 oznacza, że system jest przeciążony około 11-12 razy. Ponad 40 procesów nieustannie czeka w kolejce na wykonanie, oczekując na zwolnienie CPU. 2. Stan procesora i pamięci CPU: Wszystkie 4 rdzenie są obciążone w 100%. To „wąskie gardło” systemu w tym czasie. RAM: Wykorzystano 3.03 GB z 3.85 GB. Chociaż pamięć jest jeszcze dostępna, jej pozostałość jest niewielka. Swap: 0K/0K. Na serwerze w ogóle nie skonfigurowano pliku ani partycji swap. W przypadku skoku zużycia pamięci MySQL (który jest głównym konsumentem) system może po prostu „upaść” lub zacząć zabijać procesy przez OOM Killer. 3. Analiza procesów Głównym czynnikiem obciążenia jest MySQL (mysqld): Proces z PID 12866 zużywa 188% CPU (to sumarycznie prawie dwa pełne rdzenie). Na liście widać ogromną liczbę wątków mysql, z których każdy zużywa od 6% do 8% CPU. Obecna jest również aktywność nginx oraz procesów użytkownika konstanti (prawdopodobnie skrypty PHP przez phpfarm), ale są one drugorzędne w porównaniu do bazy danych. Istnieje kilka opcji rozwiązania.
Budżet: 1000 UAH Termin: 3 dni
Dzień dobry!
Napotkaliśmy problem z zawieszaniem się VPS z powodu wysokiego obciążenia MySQL, prawdopodobnie od zewnętrznego parsera. Jestem gotów przeanalizować logi i skonfigurować zasady ograniczenia zapytań w celu stabilizacji pracy serwera. Mam doświadczenie w optymalizacji MySQL i konfiguracji serwerów.
Napisz do mnie w wiadomości prywatnej, ustalimy szczegóły.
Budżet: 800 UAH Termin: 1 dzień
Cześć
Już współpracowaliśmy
Teraz wszystko ustawię
Pisz na priv
Od razu zacznę
Budżet: 1000 UAH Termin: 1 dzień
Dzień dobry, mam udane doświadczenie w rozwiązywaniu podobnych zadań, w celu omówienia proszę pisać na wiadomości prywatne.
Budżet: 2000 UAH Termin: 1 dzień
Witaj. Dobrze znam się na VPS, a w przypadku baz mogę przeprowadzić analizę. Proszę się zgłaszać, najczęściej można to pokonać.
Budżet: 12100 UAH Termin: 2 dni
Proszę powiedzieć, jaki hosting/panel obecnie używacie (cPanel/ISPmanager/inne) i czy Cloudflare jest podłączony? Czy możecie dać dostęp do panelu lub przynajmniej zrzuty ekranu z ostatnich szczytów obciążenia MySQL — to wystarczy, aby zidentyfikować źródło parsowania i dobrać limity.
Mamy doświadczenie w szybkim usuwaniu podobnych „zawieszeń”: konfigurujemy ograniczenia prędkości i blokowanie botów (nginx/Cloudflare/fail2ban), ograniczenia połączeń, buforowanie, a także podstawową optymalizację MySQL (wolne zapytania, indeksy). Pracujemy z MySQL i Redis; Python/JS — 4 lata w produkcji.
Jesteśmy gotowi zacząć dzisiaj: przeprowadzimy krótki audyt i od razu ustalimy zasady, aby MySQL nie obciążał serwera. Napiszcie — uzgodnimy dostęp i start.
Aktualnie brak ofert
Oferty ukryte
-
Serhii Motchany 4 majaДоброго дня.
Підкажіть:
1. Який у вас хостинг?
2. Скільки у вас сайтів на VPS і яка у них CMS.
Дякую.
Aktualne zlecenia dla freelancerów w kategorii Bazy danych i SQL
Istnieje działająca platforma produkcyjna z katalogiem i automatycznym aktualizowaniem zewnętrznych ofert i cen. Stos technologiczny: — Node.js / TypeScript; — PostgreSQL; — istniejąca usługa odświeżania cen i cron; — oddzielny gotowy moduł walidacji i wyboru ofert w Pythonie; — staging i produkcja. Konieczne jest punktowe dopracowanie istniejącego pipeline'u odświeżania cen bez pełnego przepisywania backendu. OBOWIĄZKOWY ZAKRES 1. Integracja modułu Python — Moduł Python pozostaje oddzielnym komponentem; — zwraca zorganizowany wynik: oferty, wybrana oferta, statusy i flagi ryzyka; — Node.js waliduje wynik i wykonuje zapis w bazie danych; — przewidzieć obsługę błędów i częściowych/nieudanych uruchomień; — pipeline dziedziczony nie jest wyłączany do zakończenia QA. 2. Uruchomienie odświeżania według listy Dodaj uruchomienie: — po jednym slug/id; — po przekazanej liście slug/id. Możliwe CLI lub istniejące API serwisowe. Nowy interfejs użytkownika nie jest wymagany. 3. Tryb Shadow Nowe wyniki powinny być zapisywane oddzielnie i nie wpływać na produkcję do QA. Wymagane pola shadow: — cena; — ID wybranej oferty; — bezpośredni URL; — status oferty; — flagi ryzyka/QA; — checkedAt; — engineVersion. 4. Rozszerzenie istniejącej tabeli ofert Dodaj: — źródło; — external_offer_id; — last_seen_at; — last_checked_at; — engine_version; — flagi ryzyka lub przechowywanie w istniejącym JSON; — unikalne ograniczenie dla ochrony przed duplikatami. Nie jest wymagane tworzenie nowego równoległego systemu ofert, jeśli istniejącą tabelę można bezpiecznie rozszerzyć. 5. UPSERT, STALE i transakcja DB Zamień obecną schemę DELETE → CREATE: — UPSERT istniejących i nowych ofert; — oferty, które nie występują w pełnym udanym snapshot, są przekazywane do STALE; — w przypadku błędu API, częściowego wyniku lub niedokończonego snapshot aktywne oferty nie powinny stawać się STALE; — aktualizacja ofert, metadanych wybranej oferty i pól shadow według jednego modelu odbywa się w ramach jednej transakcji DB; — w przypadku błędu wykonywany jest pełny rollback. 6. Bezpieczne odświeżanie kanoniczne Odświeżanie cen nie powinno zmieniać: — marki; — referencji; — modelu; — kolekcji; — nazwy/tytułu; — slug; — opisów; — obrazów; — pól SEO. Aktualizowane są tylko oferta, cena i dane shadow. 7. Zachowanie obecnej logiki cron Zachować: — istniejący cron; — rolling batches; — cooldown; — sprawdzenie PRICE_REFRESH_MIN_DAYS przed wywołaniem zewnętrznego API; — dziedziczony pipeline produkcyjny do zakończenia Shadow QA. 8. Audyt wyników Wystarczy jedna opcja: — kolumna shadow w istniejącej tabeli administracyjnej; lub — eksport CSV. Minimalne dane: — model/referencja; — cena produkcyjna; — cena shadow; — delta; — URL produkcyjny/shadow; — status; — flagi ryzyka; — checkedAt; — engineVersion. Nowy skomplikowany dashboard nie jest wymagany. 9. Staging i QA — migracje DB; — wdrożenie staging; — test dymny na 5 przekazanych modelach; — następnie Tryb Shadow na około 50 modelach; — naprawa błędów technicznych wykrytych podczas tych uruchomień; — krótka dokumentacja kontraktu Python → Node.js i procedura rollback. OPCJONALNIE OCENIĆ ODDZIELNIE Prosta promocja techniczna bez nowego UI: — promocja jednego modelu po slug; — promocja listy slug; — przeniesienie potwierdzonych wartości shadow do produkcji; — techniczna weryfikacja po rollout. WYNIK — Pull Request; — migracje DB; — działająca integracja Python → Node.js; — Tryb Shadow; — UPSERT, STALE i transakcyjne aktualizacje; — uruchomienie po slug/id; — wdrożenie staging; — wyniki testu dymnego; — krótka dokumentacja; — nie mniej niż 7 dni na poprawki błędów w zrealizowanym zakresie po akceptacji. W ODPOWIEDZI WSKAZAĆ 1. Stała cena za obowiązkowy zakres. 2. Oddzielny koszt mechanizmu promocji. 3. Termin. 4. Ocena godzin. 5. Kiedy gotowi do rozpoczęcia. 6. Doświadczenie z transakcjami PostgreSQL, migracjami i pipeline'ami wczytywania. 7. Jakie pytania należy wyjaśnić przed rozpoczęciem. 8. Czy wliczone są staging, QA, migracje i okres naprawy błędów. Szablonowe odpowiedzi bez konkretnej oceny nie będą rozpatrywane. Dostęp do produkcji na pierwszym etapie nie jest udostępniany. Praca zaczyna się od ograniczonego przeglądu kodu i stagingu.
Potrzebna jest centralna serwerowa system zbierania i przechowywania danych z Planfix, 1C, Meta Ads i Google Ads, a także webowy dashboard do ich wyświetlania i analizy. Wszystkie dane, historia zmian, obliczenia i agregowane wskaźniki muszą być przechowywane wyłącznie w serwerowej bazie danych. Dashboard nie powinien przechowywać ani duplikować danych biznesowych. Ma on uzyskiwać niezbędne informacje z serwerowej bazy przez API zgodnie z zapytaniami użytkownika i wyświetlać je w postaci KPI, wykresów, tabel i szczegółowych raportów.
Szukamy wsparcia dla projektu opartego na Yii , trzeba wprowadzać poprawki i dopracowania bazy, częściowo jest kontakt z poprzednim wykonawcą .....................
Migracja bazy z jednego CRM do drugiego
Potrzebna jest migracja bazy z CRM G-PLUS do MyChatBot Objętość bazy - 26 tys. leadów 2 leje - Centrum obsługi klienta oraz Dział sprzedaży z własnymi lejkami Karty leadów (oprócz imienia i numeru) mają wiele różnych pól Leady mają również nagrania głosowe rozmów. Muszą być również przeniesione Od kandydata oczekuję orientacyjnej kwoty oraz terminów realizacji
Stworzyć dashboard do monitorowania i analizy efektywności sieci lokalizacji (filiów) firmy w Google Business Profile (GBP) poprzez oficjalne API Google Business Profile. Przetwarzanie przez skrypt oparty na Google Apps Script (podpiąć do Google Arkuszy). Zapis danych w Google Arkusze (które pełnią rolę bazy danych dla Looker Studio). Aktualizacja: Codziennie (z wskazaniem daty ostatniej aktualizacji). Stworzyć serwisowe konto Google Cloud. Skrypt raz na dobę (wyzwalacz o 03:00 w nocy) wysyła zapytanie do GBP API. Otrzymuje metryki za wczorajszy dzień dla każdej lokalizacji (locationId). Zapisuje dane w tabeli w płaskim formacie (wiersz = unikalne połączenie Data + ID Filia + Metryki). Karty kluczowych wskaźnikówNazwa kartyMetryka GBPFormat dynamikiWyświetlenia profiluImpressions (Search + Maps)Procent %, Sparkline (niebieski)PołączeniaLocal Services Phone CallsProcent %, Sparkline (zielony)Przejścia na stronęWebsite ClicksProcent %, Sparkline (fioletowy)Budowanie trasDirection RequestsProcent %, Sparkline (pomarańczowy)Średnia ocenaAverage Review RatingZmiana absolutna (np. +0.1), Sparkline (żółty)Nowe recenzjeNew Reviews CountProcent %, Sparkline (turkusowy)