• Wszystko jest o wiele prostsze, niż się wydaje. Gotówka, okropne słowo, czy wszystko jest o wiele prostsze, niż się wydaje? Mój krzywy sposób buforowania stron

    14.08.2021

    Do tej myśli skłoniły mnie wyniki minianalizy, którą przeprowadziłem całkiem niedawno. Sprawdziłem, ile zapytań sql wydaje na moim blogu, a na czystym WordPressie tak się stało

    Podczas generowania strony głównej mojego bloga ( Wszystkie moduły na blogu są uwzględnione) skrypt wysyła 19 żądań. Wordpress ma takie same koszty - 19 zapytań do bazy danych

    Liczby oczywiście mogą nie być dokładne, ale mimo wszystko nie podoba mi się ten mało funkcjonalny silnik ( mówię o swoim) jest cięższy lub porównywalny z dużo bardziej funkcjonalnym.

    Ale co możesz zrobić? Pozbycie się niepotrzebnych żądań poprzez ich usunięcie oznacza całkowite zabicie całego silnika, prawda?

    Co to jest buforowanie php?

    Po mojej analizie zacząłem szukać rozwiązania tego problemu. Istnieje lekarstwo na tę dolegliwość i nazywa się buforowanie.

    Nie nazwałem notatki bez powodu ” Gotówka, okropne słowo, czy wszystko jest o wiele prostsze, niż się wydaje?„bo słowo cache przeraża mnie swoją niezrozumiałością. Nie, wiem w przybliżeniu, czym jest cache, ale na poziomie podświadomości uważam, że nie wszystko jest takie proste, jak mi się wydaje.

    Aby uzyskać dokładne informacje, oczywiście poszedłem do Internetu. Trochę kopałem i jak zawsze znalazłem morze sprytnych i niezrozumiałych słów. Interesuje mnie teraz pytanie, dla kogo pisane są te zawiłe teksty? Wydaje mi się, że dla tych, którzy są profesjonalistami w programowaniu, a mianowicie dla tych, którzy nie czytają materiałów tych, którzy je piszą. Chociaż najprawdopodobniej też taki jestem, dużo sprytnych słów i nie wiadomo, co jest co... Jednak zdałem sobie sprawę z jednej rzeczy.

    Buforowanie to nic innego jak zapisanie wyniku skryptu do osobnego pliku, który jest umieszczany na serwerze. Następnym razem, gdy wątek uzyska dostęp do tej samej strony, skrypt zwróci zapisaną kopię i nie przejdzie do bazy danych w celu uzyskania informacji, zmniejszając w ten sposób liczbę zapytań SQL, co oznacza zwiększenie wydajności.

    Tak w zasadzie myślałem. Ale nadal wydaje mi się, że ta informacja jest niekompletna lub niepoprawna.

    Kiedy zaktualizować plik pamięci podręcznej?

    To wszystko jest bardzo dobre, wzrost wydajności i tym podobne, ale jest jeden mały problem. Jak powiedzieć skryptowi, że strona się zmieniła, czyli kiedy zaktualizować zapisany plik? Wszystkie te same sprytne i niezrozumiałe słowa, znalazłem dwie opcje stworzenia mechanizmu buforowania

    • Napisz algorytm, który zaktualizuje kopię pamięci podręcznej w określonym przedziale czasu.
    • Wyślij kilka nagłówków html, sprawdzając z ich pomocą kopię strony z kopią strony w cache, a w przypadku różnych dat zaktualizuj cache

    Pierwsza metoda wydaje się być mniej więcej jasna, ale drugiej nie wymyśliłem. I najprawdopodobniej nie byłoby możliwe skorzystanie z tej metody, bo jak się domyślałem, w przypadku porównywania dat w nagłówkach będziesz musiał napisać specjalny kod, który zaktualizuje te daty w określonych sytuacjach. A ja jestem zbyt leniwy, żeby napisać taki kod =)

    Co dokładnie należy zapisać w pamięci podręcznej?

    Zanim wymyśliłem mechanizm zapisywania i aktualizowania plików, postanowiłem zastanowić się, co należy buforować? Od razu odmówiłem zapisania całej strony jako całości, być może jest to najbardziej ekonomiczny sposób, ale w tym przypadku absolutnie wszystkie moduły, które są aktualizowane przy każdym ponownym uruchomieniu strony, zawiodą. Po namyśle zdecydowałem, że wszystko, co jest bardzo grube, trafi do pamięci podręcznej ( zbyt dużo próśb) i wszystko, co jest aktualizowane co 100 500 lat. Istnieje taka możliwość, ponieważ silnik składa się z oddzielnych funkcji, czego efektem w większości przypadków jest kod html, który można zapisać do pliku i przesłać na serwer.

    Po namyśle zdecydowałem, że wyślę nagłówki, metatagi i prawie cały pasek witryny do pamięci podręcznej ( z wyjątkiem modułu menu) To wystarczy, aby skrócić prośby w przybliżeniu podwojony

    Mój krzywy sposób buforowania stron

    Dlaczego krzywy? Ponieważ sposób rozpoznawania nieaktualnych kopii jest zbyt „niemądry”, Nie wymyśliłem mądrzejszego sposobu ...

    Metatagi, nagłówki i moduł czytelnych postów nie zmieniają się zbyt często, więc ich zapisane kopie aktualizowane są raz na godzinę. Nie jest to trudne do osiągnięcia, w Internecie jest mnóstwo przykładów!

    Ale pamięć podręczna modułu na ostatnie komentarze, ankiety i ostatnie posty jest aktualizowana tylko wtedy, gdy nastąpią zmiany w bazie danych. Jak rozpoznać zmianę? Wszystko jest bardzo proste i nieprofesjonalny.

    W katalogu głównym bloga znajduje się plik tekstowy zawierający linię taką jak ta:

    Mój silnik zamienia tę linię w tablicę. Każda cyfra w tablicy odpowiada za konkretny moduł.

    • Jeśli wynosi zero, pamięć podręczna modułu jest przestarzała i wymaga wymiany
    • Jeśli taki istnieje, pamięć podręczna jest aktualna i nie trzeba jej aktualizować.

    Zmiany w tej linii są dokonywane podczas dodawania posta do bazy danych lub dodawania komentarza, dzięki czemu silnik rozumie, że pamięć podręczna wymaga wymiany. Czy to nie jest "krzywy sposób" huh?

    Mimo to liczba żądań na stronie głównej spadła do 10, a na stronach z uwagami do 9.

    Osiągnięto redukcję zapytań SQL o połowę, jest się z czego cieszyć, jeśli nie liczyć faktu, że stosowany jest nieodpowiedni sposób określania żywotności plików…

    W ogóle kończę monolog w nadziei, że metoda nie jest taka głupia…

    Wszystkiego najlepszego! Do zobaczenia!

    Zdziwisz się, słysząc, że nasz wszechświat jest w rzeczywistości dość prosty – to nasze teorie kosmologiczne okazują się niepotrzebnie skomplikowane, mówi jeden z czołowych fizyków teoretycznych na świecie. Taki wniosek może wydawać się nielogiczny: w końcu, aby zrozumieć prawdziwą złożoność Natury, trzeba myśleć szerzej, badać rzeczy w coraz mniejszej skali, dodawać nowe zmienne do równań, wymyślać „nową” i „egzotyczną” fizykę . Kiedyś dowiemy się, czym jest ciemna materia, zrozumiemy, gdzie kryją się fale grawitacyjne – jeśli tylko nasze modele teoretyczne staną się bardziej rozwinięte i bardziej… złożone.

    Tak nie jest, mówi Neil Turok, dyrektor Perimeter Institute for Theoretical Physics w Ontario w Kanadzie. Według Turoka, jeśli wszechświat w największej i najmniejszej skali mówi nam cokolwiek, chodzi o jego niesamowitą prostotę. Ale żeby to w pełni zrozumieć, potrzebujemy rewolucji w fizyce.

    W rozmowie z Discovery Turok zauważył, że główne odkrycia ostatnich dziesięcioleci potwierdziły strukturę Wszechświata w skali kosmologicznej i kwantowej.

    „Na dużą skalę zmapowaliśmy całe niebo – kosmiczne mikrofalowe tło – i zmierzyliśmy ewolucję wszechświata, jak się zmieniał, jak się rozszerzał… a te odkrycia pokazują, że wszechświat jest zaskakująco prosty” – mówi. „Innymi słowy, za pomocą jednej liczby można opisać strukturę Wszechświata, jego geometrię, gęstość materii”.

    Najbardziej ekscytującym wnioskiem z tego rozumowania jest to, że łatwiej jest opisać geometrię Wszechświata tylko jedną liczbą niż opisać numerycznie najprostszy znany nam atom - atom wodoru. Geometrię atomu wodoru opisują trzy liczby, które wynikają z kwantowej charakterystyki elektronu na orbicie wokół protonu.

    „To mówi nam, że wszechświat jest gładki, ale ma niewielki poziom fluktuacji, który jest opisany tą liczbą. I to wszystko. Wszechświat to najprostsza rzecz, jaką znamy.”

    Gdzieś na przeciwległym końcu skali coś podobnego wydarzyło się, gdy fizycy zbadali pole Higgsa za pomocą najbardziej złożonej maszyny, jaką kiedykolwiek zbudowali ludzie. Kiedy w 2012 roku fizycy odkryli cząstkę mediatora Higgsa – bozon Higgsa – okazało się, że jest to najprostszy typ opisany przez Model Standardowy cząstek.

    „Natura używa najmniejszego rozwiązania, najmniejszego mechanizmu, jaki można sobie wyobrazić, aby nadać cząstkom ich masę, ładunek elektryczny i tak dalej”, mówi Turok.

    Fizycy XX wieku nauczyli nas, że jeśli zwiększysz precyzję i zagłębisz się głębiej w świat kwantowy, odkryjesz zoo nowych cząstek. Ponieważ wyniki eksperymentalne dostarczyły wielu informacji kwantowych, modele teoretyczne przewidywały coraz więcej cząstek i sił. Ale teraz osiągnęliśmy rozdroże, na którym wiele naszych zaawansowanych teoretycznych pomysłów na temat tego, co leży „poza” naszym obecnym rozumieniem fizyki, czeka na wyniki eksperymentalne, które będą wspierać przewidywania.

    „Jesteśmy w dziwnej sytuacji, w której Wszechświat do nas przemawia; mówi nam, że jest to niezwykle proste. Jednocześnie popularne teorie (ostatnie 100 lat fizyki) stają się coraz bardziej złożone, arbitralne i nieprzewidywalne – mówi.

    Turk wskazuje na teorię strun, która została ogłoszona jako „ostateczna teoria unifikacji”, pakująca wszystkie sekrety wszechświata w zgrabną paczkę. A także szukanie dowodów na inflację – gwałtowną ekspansję Wszechświata, której doświadczył niemal natychmiast po Wielkim Wybuchu około 14 miliardów lat temu – w postaci pierwotnych fal grawitacyjnych wyrytych w kosmicznym mikrofalowym tle, „echo” Wielkiego Wybuchu. Huk. Ale gdy szukamy dowodów eksperymentalnych, chwytamy się brzytwy; dowody eksperymentalne po prostu nie zgadzają się z naszymi nieznośnie złożonymi teoriami.

    Nasze kosmiczne początki

    Praca teoretyczna Turoka poświęcona jest pochodzeniu wszechświata, tematowi, któremu poświęcono wiele uwagi w ostatnich miesiącach.

    W zeszłym roku współpraca BICEP2, która wykorzystuje teleskop na biegunie południowym do badania CMB, ogłosiła wykrycie sygnałów pierwotnych fal grawitacyjnych. To rodzaj „świętego Graala” kosmologii – odkrycie fal grawitacyjnych generowanych przez Wielki Wybuch może potwierdzić inflacyjne teorie Wszechświata. Ale, na nieszczęście dla zespołu BICEP2, ogłosili „odkrycie” jeszcze zanim Europejski Teleskop Kosmiczny Plancka (który również mapuje tło mikrofalowe) pokazał to, a nie pradawne fale grawitacyjne.

    A jeśli pierwotne fale grawitacyjne nigdy go nie znajdą? Wielu teoretyków, którzy pokładali swoje nadzieje w Wielkim Wybuchu, po którym nastąpił okres gwałtownej inflacji, może być rozczarowanych, ale według Turoka „będzie to mocna wskazówka”, że Wielki Wybuch (w klasycznym sensie) może nie być absolutnym początek wszechświata.

    „Najtrudniejszą rzeczą jest dla mnie matematyczne opisanie samego Wielkiego Wybuchu” – dodaje Turok.

    Być może cykliczny model ewolucji wszechświata – kiedy nasz wszechświat zapada się i zaczyna od nowa – będzie lepiej pasował do obserwacji. Takie modele nie muszą wytwarzać pierwotnych fal grawitacyjnych, a jeśli te fale nie zostaną wykryte, być może należy poprawić nasze teorie dotyczące inflacji.

    Jeśli chodzi o fale grawitacyjne przewidziane do wytworzenia przez szybki ruch masywnych obiektów we współczesnym wszechświecie, Turok jest przekonany, że osiągnęliśmy taki stopień czułości, że nasze detektory powinny je wkrótce wykryć, potwierdzając jedno z przewidywań Einsteina dotyczące czasoprzestrzeni. „Spodziewamy się, że w ciągu najbliższych pięciu lat zobaczymy fale grawitacyjne ze zderzeń czarnych dziur”.

    Następna rewolucja?

    Od największej do najmniejszej skali wszechświat wydaje się być „bezskalowy” - innymi słowy, bez względu na to, na jaką skalę przestrzenną lub energetyczną patrzysz, nie ma nic „wyjątkowego” w tej skali. I ten wniosek przemawia na korzyść faktu, że wszechświat ma znacznie prostszą naturę niż sugerują współczesne teorie.

    „To jest kryzys, ale kryzys w najlepszym wydaniu” – mówi Turok.

    Tak więc, aby wyjaśnić pochodzenie wszechświata i pogodzić się z niektórymi z najbardziej tajemniczych tajemnic naszego wszechświata, takimi jak ciemna materia i ciemna energia, być może będziemy musieli spojrzeć na przestrzeń w zupełnie inny sposób. Będzie to wymagało rewolucji w rozumieniu fizyki, rewolucyjnego podejścia porównywalnego pod względem siły do ​​uświadomienia sobie przez Einsteina, że ​​przestrzeń i czas to dwie strony tej samej monety, kiedy powstała ogólna teoria względności.

    „Potrzebujemy zupełnie innego spojrzenia na fundamentalną fizykę. Nadszedł czas na radykalnie nowe pomysły ”, podsumowuje Turok, zauważając, że teraz jest świetny czas dla młodych ludzi na studiowanie fizyki teoretycznej, ponieważ to następne pokolenie prawdopodobnie zrewolucjonizuje nasze rozumienie Wszechświata.

    Życie jest o wiele łatwiejsze niż się wydaje


    Rozdział 1. Na spacer.

    Chodźmy na spacer!
    Warto wybrać się na spacer wieczorem.
    Dlaczego jeszcze nie możesz?
    Jaki inny ból zęba?
    A po co ci to? Pozbądź się jej!
    Więc wyciągnijmy to po cichu ...
    Dokładnie tak…

    Cała wyleciała przez okno.
    Dobrze chodźmy?
    Co stoi na przeszkodzie?
    Tak, za pół godziny i wrócimy!
    Załóż coś lżejszego! Na dworze jest ciepło!
    Wieczór? Więc co?
    Noś co chcesz!
    Cóż, drugi jest lepszy!
    To wszystko - już nie będę doradzał!

    Moim zdaniem dobrze!
    Kogo obchodzi, co myślą, nie idziesz na kolację!
    Następnie weź coś prostszego.
    Co to za kompleks?
    Nie? Więc wypchnij go za drzwi!
    Idź stąd!
    W porządku!
    Czy jesteśmy gotowi do drogi?
    Doskonale!
    Tak, świetnie wyglądasz!
    Chodź, zamknę drzwi...

    Rozdział 2. Zasypianie ...

    Czy jest ci wygodnie?
    Co jest nie tak?
    To dla mnie bardzo wygodne, ale co masz ...
    Rozłóż arkusz, pochylony!
    Lepsza? W porządku!
    Chciałem opowiedzieć historię ...
    Co teraz?!
    Coś z poduszką? Weź inny ...
    ... więc historia opowiada o tym, jak ...
    Wyrzuć tę poduszkę !!!

    Inna rzecz.
    Słuchasz mnie?
    Ta historia dotyczy dwóch ...
    Czy świeci? Co świeci?
    A! Księżyc!
    Nie, nie wstanę, do złomu...
    Wstań!
    Po prostu narysuj lepszą zasłonę.
    Wystarczy, że tak pójdzie.
    Nigdy więcej, połóż się ...

    Chodźmy spać.
    Co? Miałem zamiar? Jaka historia?
    Och, dokładnie! nie pamiętam...
    Dobranoc.

    Rozdział 3. Odpoczynek.

    Wypijesz ze mną filiżankę herbaty?
    Dobra, ugotuję to.
    Tu masz.
    Czym się martwisz?
    Drobnostki! Wyrzucić to z głowy?
    Tak jest lepiej!
    Dobra herbata.
    Co cię prześladuje?
    Czy ta historia jest tak do ciebie przywiązana?
    Oczywiście są różni ludzie.
    Ale rozwodzić się nad każdym słowem każdej osoby ...
    Możesz zaszaleć!
    Posłuchaj mnie: co było, co było.
    Tak, po prostu ciężki dzień.
    Porozmawiajmy lepiej o czymś przyjemnym!
    Bardzo dobra herbata ...

    Rozdział 4 Jeszcze jeden spacer.

    Jak świeże jest na zewnątrz!
    Tak, deszcz minął.
    Uderzałem w dach przez całą noc.
    Zawsze wspaniale jest chodzić wcześnie w niedzielny poranek.
    Co ty mówisz? Boisz się zamarznięcia?
    Ha! Rozchorować się?
    Tak, nie chorują z tego powodu!
    Uwaga - nie wchodź w kałużę!
    Jak cię stamtąd wyciągnę później?
    A jeśli tam jest głęboko?
    Nie śmieszne?
    To dla mnie zabawne!
    Ha ha! Jak mogę to zaprezentować!
    (opadasz...)
    (Próbuję cię zdobyć...)
    (toczymy się razem w błocie...)
    (próbujemy się jej oprzeć, ale ona nas wciąga...)

    A? Co? Mówisz coś?
    Przepraszam, tylko myślę. Hihi.
    Uśmiechasz się? Cóż, to znaczy, że śniła. Hihi.
    Z czego się śmiejesz? Spójrz, pies jest zabawny!
    Tak kudłaty (hee-hee).

    Rozdział 5. Zakupy.

    Co kupimy?
    Chcę dużo!
    Tak, mój brzuch już wie, jak prosi?
    To wciąż normalny etap.
    Wkrótce zacznie tak wyć!
    Pamiętasz ostatni raz?
    Ludzie już uciekali - myśleli, że po mieście krążą wilki.
    O! Weźmy to?
    Co tym razem ci nie odpowiada?
    Za dużo kalorii?
    Dobra, weźmy coś innego...
    Tak sobie. Czego potrzebujesz!
    Ugotuję.
    Nie ma problemu.

    Co? Co???
    Boisz się zatrucia?
    Nie słyszałem, żeby to mogło zostać zatrute!
    Cóż, daj to! Ty też możesz o tym pomyśleć!

    I co to jest?
    To pierwszy raz, kiedy to widzę.
    Posłuchaj, odłóż to z powrotem.
    Nie dotykaj więcej.
    Chodźmy wszyscy, myślę, że kolacja będzie super!
    ???
    Mam przy sobie dość pieniędzy.
    Nawet się tym nie martw.

    Rozdział 6. Ostatni, choć można długo ciągnąć…

    Wróciłem!
    Jak pysznie pachnie!
    (coś się przygotowuje!)
    Co? Och, w porządku.
    Wszystkie sprawy są załatwione.
    Możemy jutro bezpiecznie wyjechać z miasta.
    Niech pogoda się nie pogorszy!
    Cóż, nawet jeśli się nie uda, coś wymyślimy!
    Co gotujesz?
    Teraz jestem gotowy!
    Ślinienie się już płynie!
    Pójdę umyć ręce.

    Jak dobrze przygotowany!
    Bardzo smaczne, lubię to!
    Jakie były przypadki?
    Poszedłem tam, ale coś nie wyszło.
    I pomyślałem - no cóż, on! Właśnie miałem wychodzić.
    I jakoś się rozwiązało.
    I tam natychmiast potoczył się jak w zegarku.
    Tak, nie było problemów...

    Podobne artykuły