WItam. Tworzę komunikator, który chciałbym aby był jaknajbardziej wydajny. Stworzyłem tabelę "wiadomosci" w którym jest index jako klucz główny, data ( datetime ), id nadawcy i od odbiorcy ( integer ) oraz content jako text , bez max liczby znaków. Jak można to przyśpieszyć maksymalnie odczytując dane ? Komunikator będzie dodatkiem do serwisu, to jako że cały serwis jest na jednej bazie danych, to może tylko dla komunikatora i wiadomości dać sql lite by obciążyć czy możę jakaś szybsza baza? Założenie jest odwiedzalność około 2tyś osób dziennie, a myślę, że około 800 osób może przez cały dzień korzystać z komunikatora, rozkładając to na cały dzień. Założmy, że to mogą być około 200 osób rozmawiających jednocześnie. Sam komunikator, jako, że nie mam jeszcze doświadczenia chciałem wykorzystać na zasadzie sse ( serwer sent event ).
Mam pytania:
1. Czy zamiast datetime kolumny w bazie jak dam integer i zapiszę czas w unix to będzie dużo wydajniejsza opcja?
2. Jak można przetestować rozmowę około 200 osób jednocześnie - request 200 jednego pliku i sprawdzenie to chyba bez sensu bo użytkownicy w jednym momencie nie będą wysylali wiadomości pomiędzy sobą ( każdy rozmawia z jedną osobą ).
3. Czy można wykorzystać jakiś websocket bez instalacji node.js i innych rzeczy które wymaga serwer dedykowany? Niestety jeszcze do niego nie mam dostępu, za jakiś czas na pewno zakupię i będzie lepszą opcją.
4. W przeglądarkach, w których sse jest niedostępne dałbym zwykły intervał co np. 8sekund sprawdzający czy są nowe wiadomości, sprawdzi się?