Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> pamiec wspoldzielona..., ...i wasze doswiadczenia z nia
lolo
post
Post #1





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 30.03.2003
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Czesc.

Strasznie dawno juz nic nie pisalem na tym forum....

Macie jakies doswiadczenia z pamiecia wspoldzielona w php? Uzywaliscie tego do czegos kiedys, moze tylko eksperymentowaliscie? Opiszcie to tutaj.
Ja np. znalazlem fajny skrypt, ktory cacheuje strony w pamieci wspoldzielonej - przez to sa super szyko wyswietlane. Jezeli macie jakies inne znaleziska albo tylko teoretyczne pomysly, to podzielcie sie.

Pozdrawiam,

Olek

P.S. Jakby sie komus ten skrypt spodobal, to nie wiem gdzie on jest, ale znalazlem go na googlach po wpisaniu >>"shared memory" php<<. Byl gdzies na poczatku


--------------------
"Tylko dwie rzeczy sa nieskonczone: wszechswiat i glupota ludzka. Choc co do pierwszego nie mam pewnosci." [Albert Einstein, wybitny fizyk]
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 10)
binio
post
Post #2





Grupa: Zarejestrowani
Postów: 57
Pomógł: 0
Dołączył: 23.06.2003

Ostrzeżenie: (0%)
-----


Cytat(lolo @ 2004-12-27 14:24:52)
Ja np. znalazlem fajny skrypt, ktory cacheuje strony w pamieci wspoldzielonej - przez to sa super szyko wyswietlane.

Hmm, szukałem o tym informacji ale niewiele znalazłem.
Możesz pokazać to cudo co znalazłeś ?
Chetnie pobawiłbym się z tym ...
Go to the top of the page
+Quote Post
lolo
post
Post #3





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 30.03.2003
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Przeciez napisalem, ze trzeba tylko w googlach wpisac "shared memory" php. I wcisnac szczesliwy traf...


--------------------
"Tylko dwie rzeczy sa nieskonczone: wszechswiat i glupota ludzka. Choc co do pierwszego nie mam pewnosci." [Albert Einstein, wybitny fizyk]
Go to the top of the page
+Quote Post
binio
post
Post #4





Grupa: Zarejestrowani
Postów: 57
Pomógł: 0
Dołączył: 23.06.2003

Ostrzeżenie: (0%)
-----


Cytat(lolo @ 2004-12-28 11:44:23)
Przeciez napisalem, ze trzeba tylko w googlach wpisac "shared memory" php. I wcisnac szczesliwy traf...

Sorki nie wiem czemu ale nie zauwazylem tego wczesniej .. sad.gif
Go to the top of the page
+Quote Post
Jabol
post
Post #5





Grupa: Przyjaciele php.pl
Postów: 1 467
Pomógł: 13
Dołączył: 22.02.2003

Ostrzeżenie: (0%)
-----


nie wiem jak dzisiaj, ale za pamiętnych czasów, kiedy się tym zajmowałem (przed ok. rokiem) było to rozszerzenie na windowsie raczej niedostępne (potrzebne były jakieś dodatkowe biblioteki), na linuksie natomiast nie jest to opcja defaultowa, więc zapewne i tutaj nie jest wszędzie dostępne. Podejrzewam zresztą, że w większości przypadków nie jest, ale tutaj, przyznaje się, nie wiem jak jest.
Ogólnie rzecz fajna, ale podobne rzeczy można uzyskać za pomocą plików (ciutkę wolniejsze, ale jednak działa). I chyba jednak ku takiemu rozwiązaniu bym się skłaniał, gdyż jest dużo pewniejsze. (tym bardziej, że raczej nie wygospodarujesz dak dużej i elastycznej shared memory jak system plików).
Go to the top of the page
+Quote Post
Imperior
post
Post #6





Grupa: Zarejestrowani
Postów: 105
Pomógł: 0
Dołączył: 16.10.2004

Ostrzeżenie: (0%)
-----


Zawsze myślałem, że pamieć jest najodowiedniejszym miejscem do keszowania...
A odnośnie windowsa, to to będzie działać tylko, kiedy php jest jako moduł np. apacha.


--------------------
Com powiedział, powiedziałem.
Go to the top of the page
+Quote Post
lolo
post
Post #7





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 30.03.2003
Skąd: Kraków

Ostrzeżenie: (0%)
-----


A poza tym to dopiero od Windowsa 2000 bedzie dzialac. Przedtem nie bylo w windzie pamieci wspoldzielonej...
Ale nie jest to wielki problem, bo zawsze mozna napisac to specjalnie pod linuxa. W configu bedzie mozna zmieniac np.
Na tej stronce o ktorej mowilem, byl chyba taki skrypt do wykrywania czy jest mozliwosac uzycia SM. System sam moglby sie do tego dopsowywac...


--------------------
"Tylko dwie rzeczy sa nieskonczone: wszechswiat i glupota ludzka. Choc co do pierwszego nie mam pewnosci." [Albert Einstein, wybitny fizyk]
Go to the top of the page
+Quote Post
hawk
post
Post #8





Grupa: Zarejestrowani
Postów: 521
Pomógł: 0
Dołączył: 3.11.2003
Skąd: 3city

Ostrzeżenie: (0%)
-----


A nie lepiej zrobić po prostu tmpfs albo coś w tym stylu?
Go to the top of the page
+Quote Post
lolo
post
Post #9





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 30.03.2003
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Po krotkim googlowaniu dochodze do wniosku, ze jest to dobre rozwiazanie. Pewnie latiwejsze w obsludze nawet niz SM takie typowe. Bo mozna jednego skryptu uzywac do komunikacji, ktory albo bedzie uzywal tmpfs albo normalnego, dyskowego systemu plikow.
Problem tylko w tym ze tmpfs dziala juz naprawde wylacznie na linuksie, a funkcje SM zadzialaja tez pod niektorymi windami. Poza tym zeby uzywac tmpfs'a trzeba go najpierw zamontowac, co wymaga exec'a (chyba innej molziwosci nie ma?), a mozna chciec go unikac calkiem... Ponadto montowac moze tylko root (w wiekszosci przypadkow), wiec nie uzyjemy tego na darmowych/uczelnianych serwerach... : (


--------------------
"Tylko dwie rzeczy sa nieskonczone: wszechswiat i glupota ludzka. Choc co do pierwszego nie mam pewnosci." [Albert Einstein, wybitny fizyk]
Go to the top of the page
+Quote Post
dooshek
post
Post #10





Grupa: Zarejestrowani
Postów: 70
Pomógł: 0
Dołączył: 22.10.2003
Skąd: Trójmiasto

Ostrzeżenie: (0%)
-----


Cytat(lolo @ 2005-01-02 20:47:36)
Po krotkim googlowaniu dochodze do wniosku, ze jest to dobre rozwiazanie. Pewnie latiwejsze w obsludze nawet niz SM takie typowe. Bo mozna jednego skryptu uzywac do komunikacji, ktory albo bedzie uzywal tmpfs albo normalnego, dyskowego systemu plikow.
Problem tylko w tym ze tmpfs dziala juz naprawde wylacznie na linuksie, a funkcje SM zadzialaja tez pod niektorymi windami. Poza tym zeby uzywac tmpfs'a trzeba go najpierw zamontowac, co wymaga exec'a (chyba innej molziwosci nie ma?), a mozna chciec go unikac calkiem... Ponadto montowac moze tylko root (w wiekszosci przypadkow), wiec nie uzyjemy tego na darmowych/uczelnianych serwerach... : (

Jakis czas temu probowalismy tego uzywac w dosyc zlozonej aplikacji wlasnie do cachowania i niestety moje doswiadczenia z shared memory w php sa przykre. Mozliwe, ze teraz costam poprawili ale generalnie w php 4.1 bodajze (to wtedy wlasnie probowalismy) bylo to delikatnie mowiac... popsute winksmiley.jpg

Chodzi o to, ze trzeba jakos tworzyc bloki pamieci wspoldzielonej, rezerwowac miejsce w pamieci - wiec trzeba wiedziec ile <> danych potrzebujemy przechowywac. My tworzylismy kilka/kilkaset blokow - to jest mozliwe - natomiast pozniej usuniecie ich nie za bardzo. Dobrze tego nie pamietam ale byl z tym problem. Do tego aby 2 procesy php nie zapisywaly do tego samego kawalka pamieci trzeba to jakos blokowac... Najlepiej wiec skorzystac z semaforow ktore tez sa dostepne w php ale znowu implementacja ich jest lipna. Jak juz cos wymodzilismy z uzyciem shared memory i semaforow to okazalo sie, ze wszystko szlag trafia przy wiekszym obciazeniu na 2 procesorowej maszynie... (prawdopodobnie chodzi o zle ustawianie/kasowanie semaforow)

Dodam tylko jeszcze, ze wszystko to robilem pod linuxem - z winda nie mam doswiadczen.

Moze teraz sie cos zmienilo ale nie sadze bo przewaznie szukalem w changelogach od php od tamtego czasu jakiejs wzmianki o poprawkach... Mozliwe, ze jednak cos przeoczylem...

Wydaje mi sie, ze do cachowania czasami lepiej uzyc bazy i tabel HEAP - one w koncu tez trzymaja w pamieci swoje dane. W MySQL 4.1 bodajze albo w 5.0 wprowadzili nawet mozliwosc zakladania kluczy w HEAPach wiec powinno to dodatkowo przyspieszyc ich dzialanie.


--------------------
"Use the force - read the source"
Go to the top of the page
+Quote Post
Jabol
post
Post #11





Grupa: Przyjaciele php.pl
Postów: 1 467
Pomógł: 13
Dołączył: 22.02.2003

Ostrzeżenie: (0%)
-----


a ja jeszcze raz odpowiem, robiłem testy prędkości - shared mem i system plików i różnice były MINIMALNE.
System plików można natomiast świetnie dostosować do własnych wymagań (nazwy plików, katalogi, itp...)...
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 15:44