Zanim odpowiesz na to pytanie, nigdy nie opracowałem czegoś tak popularnego, aby osiągnąć wysokie obciążenie serwera. Traktuj mnie jak (westchnienie) kosmitę, który właśnie wylądował na planecie, choć taki, który zna PHP i kilka technik optymalizacji.
Rozwijam w PHP narzędzie, które może dotrzeć do całkiem dużej liczby użytkowników, jeśli zadziała. Jednakże, chociaż jestem w pełni zdolny do opracowania programu, jestem prawie nieświadomy, jeśli chodzi o tworzenie czegoś, co może poradzić sobie z dużym ruchem. Oto kilka pytań na ten temat (możesz również zamienić to pytanie w wątek dotyczący zasobów).
Bazy danych
W tej chwili planuję używać funkcji MySQLi w PHP5. Jak jednak skonfigurować bazy danych w odniesieniu do użytkowników i treści? Czy faktycznie potrzebuję wielu baz danych? W tej chwili wszystko jest pomieszane w jednej bazie danych - chociaż zastanawiałem się nad przeniesieniem danych użytkownika do jednej, faktycznej treści do innej i wreszcie zawartości strony głównej (szablonów itp.) Do innej. Moje uzasadnienie jest takie, że wysyłanie zapytań do różnych baz danych zmniejszy obciążenie, ponieważ jedna baza danych = 3 źródła ładowania. Czy to też byłoby skuteczne, gdyby wszyscy byli na tym samym serwerze?
Buforowanie
Mam system szablonów, który służy do budowania stron i wymiany zmiennych. Szablony główne są przechowywane w bazie danych i przy każdym wywołaniu szablonu wywoływana jest jego kopia w pamięci podręcznej (dokument HTML). W tej chwili mam dwa typy zmiennych w tych szablonach - var statyczny i dynamiczny var. Zmienne statyczne to zwykle rzeczy takie jak nazwy stron, nazwa strony - rzeczy, które nie zmieniają się często; dynamiczne zmienne to rzeczy, które zmieniają się przy każdym ładowaniu strony.
Moje pytanie na ten temat:
Powiedz, że mam komentarze do różnych artykułów. Co jest lepszym rozwiązaniem: przechowuj prosty szablon komentarza i wyświetlaj komentarze (z wywołania DB) za każdym razem, gdy strona jest ładowana, lub przechowuj kopię strony z komentarzami jako stronę HTML - za każdym razem, gdy komentarz jest dodawany / edytowany / usuwany strona zostanie cofnięta.
Wreszcie
Czy ktoś ma jakieś wskazówki / wskazówki dotyczące prowadzenia witryny o wysokim obciążeniu w PHP. Jestem prawie pewien, że jest to praktyczny język do użycia - Facebook i Yahoo! dać temu pierwszeństwo - ale czy są jakieś doświadczenia, na które powinienem uważać?