![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 47 Pomógł: 4 Dołączył: 12.07.2003 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
napisałem autorski skrypt do relacji live. Zaczynałem do 50 osób online potem, 200, 1000 i ostatnio 2650. I tutaj pojawił się problem - mój serwer nie daje rady - ale jest to spowodowane złą optymalizacją skryptu PHP. Live dzieli się na front i admin. Admin - działa na mysql i końcowe dane zapisuje do pliku txt. Front - do tej pory łączył się z bazą robił insert, bądź update na podstawie session_id i na końcu zwracał sumę wyników z ostatnich 10 minut. ale było to 2650 połączeń i zapytań do bazy w ciągu 5 minut ... co nam daje 9 połączeń na 1s. Przerobiłem ostatnio licznik online na tekstowy: 1. otwieram plik szuka rekordu foreach'em jak jest to update, jak nie ma to dodaje. zamykam plik 2. otwiera ten sam plik i zlicza stan osob online - zwraca wynik Przed tym wszystkim otwieram jeszcze plik z danymi do relacji. Czy jest to dobra zmiana która pozwoli mi na obsługę 4-5 tys osob? Czy jest to najbardziej optymalny sposób? Dodam tylko, że licznik online jest niezbędny. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 01:45 |