![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 55 Pomógł: 4 Dołączył: 19.05.2003 Skąd: Gdańsk Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Mam małą galerię gdzie poszczególne zdjęcia są "wyrzucane" do przeglądarki poprzez imagejpeg() w skrypcie PHP. Przekierowanie z *.jpg na skrypt php jest w .htaccess'ie Problem polega na tym, że gdy zdjęcie jest przesyłane do przeglądarki to serwer nie chce obsłużyć żadnego innego zapytania np. nie moge otworzyć innej strony w osobnym oknie w tym samym czasie. Czy istnieje jakiś przełącznik w Apaczu który to definiuje? -------------------- The fastest app with PHP: <?php die('Hello World'); ?>
|
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 175 Pomógł: 17 Dołączył: 23.06.2006 Ostrzeżenie: (0%) ![]() ![]() |
Co do problemu z otwieraniem stron chyba nie pomogę, przynajmniej narazie. Powiem tylko, że plik jpg powinieneś wyrzucać szybszą metodą niż imagejpeg. Prawdopodobnie otwierasz plik na dysku funkcją imagecreatefromjpeg(), tak otrzymujesz wskaźnik na obraz a potem go przekazujesz do wcześniej wymienionej funkcji.
Znacznie szybsze jest takie coś:
Pozdrawiam Ten post edytował likemandrake 16.02.2009, 21:26:51 -------------------- serwiswww.pl
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 55 Pomógł: 4 Dołączył: 19.05.2003 Skąd: Gdańsk Ostrzeżenie: (0%) ![]() ![]() |
Ah, dzieki za tego tip'a. Sam skrypt wybiera odpowiednia wersje obrazka w zaleznosci od przywilejów na stronie, choc w jednej sytuacji (dla gości) faktycznie wysyła niezmieniony plik, wiec dzieki za rade
![]() A ciagnac dalej ten offtop.. warto tez wylaczyc ob_start('ob_gzhandler') jesli jest aktywny (np. poprzez ob_end_clean()) przed wyslaniem skompresowanego obrazka do przegladarki. Wiekszosc CMS'ow kompresuje strony ale to udogodnienie do JPG'gow sie raczej nie nadaje. Jest znaczne przyspieszenie ! -------------------- The fastest app with PHP: <?php die('Hello World'); ?>
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 175 Pomógł: 17 Dołączył: 23.06.2006 Ostrzeżenie: (0%) ![]() ![]() |
Tak czy inaczej obrazki które tworzysz powinieneś buforować na dysku i potem je wyświetlać metodą którą Ci zapodałem
![]() -------------------- serwiswww.pl
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 55 Pomógł: 4 Dołączył: 19.05.2003 Skąd: Gdańsk Ostrzeżenie: (0%) ![]() ![]() |
No wlasnie, tak sie zastanawiam co zrobic z tym buforowaniem. Strona ma rok i nazbieralo sie juz ponad 30,000 obrazkow, a zapowiada sie jeszcze wiecej...
Obrazki ktore buforuje to: oryginal, oryginal+znak wodny+stopka, oraz miniatury: 650px, 200px, 100px. Ale klient sobie zazyczyl jeszcze jedną wersje: oryginal+stopka dla subskrybentów (bez znaku wodnego) Oryginal uzywam wlasnie zeby usunac znak wodny dla tej wersji... Tylko teraz sie zastanawiam czy jest sens poswiecic kolejne pare gigabajtow i buforowac takze ta wersje? -------------------- The fastest app with PHP: <?php die('Hello World'); ?>
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 175 Pomógł: 17 Dołączył: 23.06.2006 Ostrzeżenie: (0%) ![]() ![]() |
Trzeba pójść na kompromis
![]() Ja wiem tyle, że dynamiczne tworzenie obrazka i wysyłanie go do użytkownika nie jest napewno wydajne, ale nie zaszkodzi zrobić testy. Zrób sobie stronę, gdzie obrazek będzie dynamicznie tworzony i zwracany do użytkownika i zrób sobie stronę, gdzie będzie rzucany zbuforowany obrazek. Potem można łatwo to przetestować, symulując prawdziwą ilość wejść użytkowników w danym czasie. Skorzystaj z narzędzia 'ab' dostarczanego z serwerem Apache lub sobie znajdź jakieś podobne. Myślę, że wykonanie 100 żądań w "jednakowym czasie" dla obu przypadków powinno pomóc Ci w decyzji, które rozwiązanie warto zastosować. Pozdrawiam -------------------- serwiswww.pl
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 04:53 |