Mateusz Jakubowski

Mateusz Jakubowski Student,
Politechnika
Radomska im.
Kazimierza
Pułaskiego

Temat: PHP wiele zapytań w krótkim okresie czasu

Witam,
Jestem nowicjuszem w PHP więc proszę o wyrozumiałość. Nie chcę też aby ktoś pisał za mnie kod.
Chciałem poruszyć pewien problem oraz propozycję jak coś takiego najlepiej rozwiązać.

A wiec mam skrypt który zbiera dane ze strony www, przetwarza, wykorzystuje zgromadzone dane w czasie rzeczywistym i udostępnia je dalej w postaci czytelnej XML, JSON itp. Jak wiadomo czas to pieniądz - i w moim przypadku cenna jest każda sekunda. O ile nie śpieszno mi udostępniać dane dalej to o tyle bardzo szybko muszę reagować na otrzymane dane - tak że 4 sekundy to dla mnie dużo. Ktoś może pytać po co to na co to - no nie istotne tak bardzo. Ważne że coś takiego funkcjonuje - ale wolno. Pozyskanie informacji, przetwarzanie, wykorzystanie i udostępnienie dalej informacji.

Rozwiązanie:
OK jak wiadomo odpytywanie hosta co 20 sekund może nie być efektywnym rozwiązaniem i admin może to potraktować jako atak ddos i zbanować użytkownika. Wobec powyższego pomyślałem że może 10 użytkowników odpytywać host co 60 sekund, obrabiać dane i wysyłać je do głównego serwerka. Główny serwerek odbiera dane, zapisuje do bazy, duplikaty odrzuca, wykorzystuje dane na swój sposób i udostępnia je dalej. Taki jest plan.

Teraz pytanie - czy jeśli w jednym czasie zbiegnie się wielu użytkowników i zaczną aktualizować dane to serwer nie będzie miał zadyszki? Rozumiem żeby dane nie zostały zmodyfikowane przez klienta przed wysłaniem na serwer to trzeba zrobić może sha1 i szyfrowanie. Dekodowanie tego na serwerze i kolejkowanie np do pliku - czy to bardzo obciąża serwer? Czy ewentualnie jest jakiś inny sposób aby pozyskiwać dane z serwisów www w jak najkrótszym czasie po wprowadzeniu modyfikacji. Dodam że sprawdzanie nagłówków, ETAG nic nie daje bo dane w serwisie są ładowane z bazy. Trochę to taki akademicki projekt, trochę poznanie dodatkowych rozwiązań, opinii, oczywiście krytyka też mile widziana. Może tak się nie robi, może próbuję wynajdować koło na nowo a do tego typu rzeczy są całkiem inne rozwiązania. Tym bardziej jak by nie było mam do wykorzystania php, bazy, perl, python, c.
Pozdrawiam

konto usunięte

Temat: PHP wiele zapytań w krótkim okresie czasu

Mateusz Jakubowski:
Rozumiem żeby dane nie zostały zmodyfikowane przez klienta przed wysłaniem na serwer to trzeba zrobić może sha1 i szyfrowanie. Dekodowanie tego na serwerze

Chcesz dekodować sha-1 ? Czy ty wiesz o czym piszesz?
i kolejkowanie np do pliku - czy to bardzo obciąża serwer?

Przy tak krótkich czasach lepiej kolejkować w Memcache.
Czy ewentualnie jest jakiś inny sposób aby pozyskiwać dane z serwisów www w jak najkrótszym czasie po wprowadzeniu modyfikacji.

Nie wiem jak inni ale ja zbanowałbym IP które co 60 sekund odpytuje serwer nawet gdyby było ich kilkaset, takie postepowanie jest co najmniej nieetyczne, lepiej poprosić właściciela o API lub automatyczne przesyłanie danych do ciebie.
Mateusz Jakubowski

Mateusz Jakubowski Student,
Politechnika
Radomska im.
Kazimierza
Pułaskiego

Temat: PHP wiele zapytań w krótkim okresie czasu

Nie chodzi mi o dekodowanie sha-1 - po prostu myślałem żeby obliczyć sumę kontrolną (zaszyfrowaną) - i sprawdzić czy ktoś nie podsyła mi spreparowanych danych.

Memcache czy baza czy plik - po prostu gdzieś chciałbym przechowywać kilkanaście ostatnich rekordów więc nie wiem który z elementów najlepiej by się do tego nadawał.

Właśnie chodzi o to że jest API ale często nawala z uwagi na duże obciążenie i czasami trzeba stronkę parsować. Admin wie o stosowanych praktykach - ale jeszcze się nie zdarzyło aby kogoś upomniał o zbyt częste odpytywanie. Z API doszedłem do 15 sekund, poniżej nie chcę schodzić aby mój host się mnie nie czepiał. A takie przesyłanie danych to było by fajne - z tym że dużo użytkowników tego by chciało aby i im je udostępniać - więc tu takie coś odpada.

Następna dyskusja:

PHP/SQL - jedno pole czy wi...




Wyślij zaproszenie do