Podzielona baza danych na dużej witrynie?
Jaki będzie najlepszy sposób na podzielenie dużej bazy danych na jedną witrynę, a nie instalację wp na wielu witrynach? Być może do tego służy HyperDB (tylko mniej niż 10 webmasterów zdołało dowiedzieć się, jak go zainstalować, zgodnie z aktywnymi instalacjami).
Obecnie strona ma około 350k postów, jest na dobrym VPS. Witryna działa dość szybko z przodu, otwiera strony, przeglądanie… Ale zwalnia na zapleczu podczas publikowania nowych postów, każdego dnia dodawanych jest wiele nowych postów.
Witryna ma następującą strukturę bezpośredniego łącza:
sitename.com/rok/miesiąc/dzień/postid/post-name Praktycznie tylko nowe posty są edytowane, a raz opublikowane posty nie są zmieniane.
Masz pomysł, jak przyspieszyć pisanie bazy danych lub lepiej, aby opublikować post w jednej bazie danych i mieć nową bazę danych dla przyszłych postów?
Aktualizacja:
Pierwsza instalacja: Czy instalacja w katalogu głównym witryny z nową bazą danych, bez starych, opublikowanych postów, tylko dla przyszłych postów. Struktura bezpośredniego łącza jest taka, jaka była:
nazwa-witryny.com/rok/miesiąc/dzień/postid/nazwa-posta
Druga instalacja:
Utworzono folder „2015” w katalogu głównym witryny i zainstalowano WP w tym folderze z bazą danych sql oryginalnej instalacji WP z roota, ze wszystkimi postami do końca września, tylko bezpośredni link został zmieniony na:
nazwa-witryny.com/miesiąc/dzień/postid/nazwa-posta
i da taką samą strukturę adresu URL, jak była (ponieważ WP znajduje się w podfolderze „2015”):
nazwa-witryny.com/rok/miesiąc/dzień/postid/nazwa-posta
Takie podejście sprawdza się, gdy muszę podzielić bazę danych raz w roku (na przykład dla roku 2014). Na każdy ostatni rok mogę mieć jeden folder nazwany według poprzedniego roku iz instalacją WP w tym folderze z bazą danych z postami z tego ostatniego roku.
W ten sposób, gdy odwiedzający spróbuje otworzyć adres URL, na przykład:
sitename.com/2014/01/01/post-name-tutaj
serwer najpierw zajrzy do podfolderu /2014/ i jest instalacja WP, która zwróci ten post.
Problem:
Kiedy baza danych jest za duża na bieżący rok, próbowałem podzielić posty z bieżącego roku na dwie bazy danych, jedna zawiera wszystkie opublikowane posty od tego roku do końca września, a druga będzie zawierała przyszłe posty.
Mam to:
W katalogu głównym strony mam folder „2015” z instalacją WP ze strukturą permalink:
nazwa-witryny.com/miesiąc/dzień/postid/nazwa-posta
A w instalacji root WP ze strukturą permalink:
nazwa-witryny.com/rok/miesiąc/dzień/postid/nazwa-posta
Jeśli spróbuję otworzyć adres URL:
sitename.com/2015/09/01/post-name-tutaj
serwer sprawdzi w folderze „2015”, a instalacja WP z tego folderu zwróci post z 1 września i działa dobrze.
Jeśli dziś opublikuję nowy post w instalacji WP w katalogu głównym witryny, będzie on miał adres URL taki jak ten: sitename.com/2015/10/29/post-name-here
A jeśli spróbuję go otworzyć, serwer zajrzy do instalacji WP w folderze „2015”, ale ta instalacja ma posty tylko do końca września, a ja dostanę 404. Po tym serwer nie zajrzy do instalacji WP w katalogu głównym strona, na której znajduje się ten post.
Pytanie:
Jak sprawić, by serwer wyglądał w instalacji WP w podfolderze „2015”, a jeśli nie ma posta w tej instalacji, aby szukać tego postu w instalacji WP w katalogu głównym witryny?