![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 13.10.2012 Ostrzeżenie: (0%) ![]() ![]() |
1. Mam otwartą część serwisu (Access-Control-Allow-Origin: *), która zwraca przez ajax pewne szybko zmieniające się wartości (kilka liczb, format json). Jak najefektywniej zaprojektować dostęp do danych, zakładając, że skrypt będzie wykonywany z dużą częstością przez zewnętrznych użytkowników?
Całość przechowywanych danych ma 10kB. 1. mySQL - nawiązanie połączenia i pobranie pojedynczej wartości ( to jest chyba nieefektywne, zwłaszcza nawiązanie połączenia) 2. pliki txt - nie jestem pewien jak efektywne jest otworzenie/zamknięcie pliku? 3. tworzenie pliku php przez php i 'include' nowo utworzonego pliku z wyliczonymi wartościami w formie tablic. 4. Dopisanie tablicy wartości bezpośrednio do wywoływanego pliku php, bez 'include'. 5. inna opcja, której nie wziąłem pod uwagę. Moim celem jest nie tyle redukcja transferu serwer - klient, co optymalizacja użycia procesora na serwerze. Pytam, ponieważ pojawiły się zewnętrzne skrypty, które wywołują mój kod z dużą częstością i zaczynam to widzieć na moich limitach użycia procesora. A nie chciałbym zamykać otwartego API, do tej pory używanego przez 'normalnych' użytkowników do dołączania widgetu na stronie. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 435 Pomógł: 40 Dołączył: 16.02.2003 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Przechowuj dane w Redis'ie/memcached.
Np w przypadku Redisa dla marnej klasy serwera daje on wydajność na poziomie > 40.000 req/s. Wtedy wąskim gardłem będzie Twoj aplikacja PHP która pewnie obsługuje 400req/s. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 10.10.2025 - 17:04 |