Forum służy wyłącznie jako archiwum. Nie można tworzyć nowych wątków i postów.
Tani hosting

Optymalizacja skryptu
kmike Offline
Pomocnik

Liczba postów: 2,096
Reputacja: 232
Post: #1
Optymalizacja skryptu 23-04-2013 09:48
Już jakiś czas się przymierzałem do tego wątku ponieważ moim zdaniem TT2 wykonuje zdecydowanie za dużo zapytań do bazy przy jednorazowym otworzeniu strony (naliczyłem, 32 dla strony głównej przy 10 obrazkach).

1) Głosowanie.
Każdy obiekt wykonuje 2 zapytania o ocenę. Można ilość głosów tak/nie/ogółem przechowywać w tabeli obiektu i pobierać razem z tytułem, ścieżką itp.

2) Konfiguracja
Tytuł, opis, słowa kluczowe, ilość stron, itd jest pobierana osobno. W jakimś pliku konfiguracyjnym można pobrać wszystkie i przypisać je do tablicy "globalnej" i jej używać.

3) Użytkownik
Podobnie do konfiguracji. W nagłówku są 2 zapytania do bazy o tą samą informacje - ID. Identyfikator chyba bezpiecznie można przetrzymywać w sesji?

4) Obiekty (nagłówek w img.php)
Niektóre informacje o obiekcie są używane kilka razy podobnie do konfiguracji w tym jednym pliku można by je przypisać do tablicy i się do niej odnosić (ubyłoby 5 zapytań).

5) Reklamy
Podobnie do ustawień. Każda reklama pobierana jest osobno.

6) Ilość obiektów w kategorii
Podobnie od głosowania - ilość kategorii może być przechowywana w tabeli.

przy samej zmianie głosowania ubędzie 20 zapytań przy 10 obrazkach, przy zmianie konfiguracji ubędzie 4-5 (w zależności od podstrony).

- Pakiet aplikacji FB - 120 zł
- Pakiet WSZYSTKICH modyfikacji - 169 zł

(Ten post był ostatnio modyfikowany: 30-04-2013 12:18 przez kmike.)
WWW Cytuj
Diabeł Online
Użyszkodnik


Liczba postów: 777
Reputacja: 666
kmike Offline
Pomocnik

Liczba postów: 2,096
Reputacja: 232
Post: #2
RE: Optymalizacja skryptu 18-08-2013 11:45
Dopóki wersja 2.0.4 nie została jeszcze wydana dodam kolejny pomysł, który moim zdaniem powinien zostać dodany, a nie jest w ogóle problematyczny.

Mianowicie, przekierowanie domeny z http://www.sruu.pl na sruu.pl Jeśli ktoś będzie chciał adres z www będzie sobie mógł bardzo łatwo przekierować.

Znalazłem gdzieś na stronie drupala uniwersalną regułkę

Kod PHP:
RewriteCond %{HTTP_HOST}//s%{HTTPS} ^www\.(.*)//((s)on|s.*)$ [NC]
RewriteRule http%3://%1%{REQUEST_URI} [L,R=301] 

- Pakiet aplikacji FB - 120 zł
- Pakiet WSZYSTKICH modyfikacji - 169 zł

WWW Cytuj
kmike Offline
Pomocnik

Liczba postów: 2,096
Reputacja: 232
Post: #3
RE: Optymalizacja skryptu 01-09-2013 09:54
Nie wiem na kiedy jest przewidywana kolejna wersja, bo dopiero co wyszła 2.0.4. Ostatnio pisałem kilka aplikacji do TT i zauważyłem, że cały czas wykonuje się bardzo podobne zapytania i w każdym pliku app_admin trzeba powielać bardzo podobne funkcje. Można pomyśleć o napisaniu klasy bazowej, którą by się wczytywało na początku pliku, która by zawierała podstawowe metody do odczytywania, zapisywania, aktualizowania danych. W bardzo prosty sposób można przekazywać dane w tablicy (indeks tablicy o takiej nazwie jak kolumna w bazie). Zastosowałem takie rozwiązanie w jednym skrypcie i niesamowicie przyspiesza to pracę.

Funkcje, które najczęściej są powielane:
- pobierzObrazki
- uploadImage
- category
- dbInsert
- dbUpdate
- dbDelete

- Pakiet aplikacji FB - 120 zł
- Pakiet WSZYSTKICH modyfikacji - 169 zł

(Ten post był ostatnio modyfikowany: 01-09-2013 09:55 przez kmike.)
WWW Cytuj
programista Offline
Użytkownik

Liczba postów: 235
Reputacja: 17
Post: #4
RE: Optymalizacja skryptu 22-09-2014 12:25
No wreszcie mam czas coś na ten temat napisać.

Generalnie wydaje mi się, że twórcy nie mają zbytnio czasu na rozwijanie skryptu, to zrozumiałe, patrząc po tym co tam jest w środku i jak jest zrobione, trudno się dziwić, bo zrobić tak, żeby to było nadal to samo tentego, ale jednak poprawione będzie trudno.

Właściwe sercem tentego są te aplikacje w apps, głównie manager i niestety, ale jeżeli chciałby się coś więcej w tentego zmienić to te funkcje, które tam są i działają na zasadzie "znajdź i zmień" utrudniają, nawet jakby je zostawić i przerobić na system szablonów, to nadal piętrzą się kolejne problemy powtarzania kodu i zbyt wielu zapytań.

Najlepiej by było oczywiście zamienić to na jakiegoś typu kontrolery albo choćby konsolidacja w jeden plik szablonu na początku, tylko im dalej w las tym bardziej się zastanawiam ile zostanie tego tentego w tym tentego i czy to ma sens.

Zmiany które ja bym widział

- wszystko przez jeden index.php, koniec z osobnymi tymi samymi zmianami w niemal identycznych plikach
- zmiany w samym index, aby wybierało odpowiednie szablony samo lub jak pisałem jakaś konsolidacja
- dodanie systemu szablonów, rezygnacja z "znajdź i zamień"
- automatyczne ładowanie zainstalowanych aplikacji z możliwością ich wyłączenia/włączenia, po to by znowuż nie edytować tego index
- zrobienie z managera bardziej spójnego rdzenia, dodanie uniwersalnych metod, co pozwoli zrewidować resztę kodu, logowanie, zapytania do bazy itp. wszystko po to by się nie powtarzać
- w końcu zmiana skonsolidowanego już pliku danej strony na kontroler i system szablonów, nie trzeba tu się sztywno trzymać mvc, liczy się prostota i przejrzystość
- dokumentacja!, bo ludzie nawet nie wiedzą co jest możliwe dzięki apps, chociaż minimalna
- uniwersalne tagi w szablonach, pod które może się podczepić każda aplikacja
- system cache
- optymalizacja, która wyniknie z poprzednich zmian, bo teraz, gdy pobiera tylko SAM tytuł obrazka dla tagów fb to jest wykonywane zdecydowanie za dużo kodu i zapytań do bazy i to wielokrotnie, czyste marnotrawstwo

Ale wiadomo, trzeba to zrobić od małych kroczków do większych i ja w miarę czasu bym się tego podjął.

Wolałbym jakoś działać wspólnie, ale szczerze to patrząc na to, że każdy ma swoje zajęcia, trudno by było chyba się dogadywać i robić posiedzenia co i jak zmieniamy w tentego. (czy jakieś repo na github itp.)

Więc może po prostu, ja czy ktokolwiek inny by w tym temacie wrzucał swoje wersje tentego z podanymi zmianami, oczywiście w miarę możliwości i czasu, bo ja też nie zasypię zaraz wątku nie wiadomo czym, bazujące na najnowszej wersji, bo ja bym chętnie coś wrzucał, ale nie wiem czy tak będzie ok.

Oczywiście jak ktoś by chciał coś dodać do już poprawionej wersji np. mojej to nie było by problemu, nikomu bym nie bronił, byle nie było sytuacji, że jest 10 wersji i nie wiadomo, która od kogo i jakie zmiany.

Także z mojej strony na teraz to by było tyle, jeżeli mógłbym takie coś tu wrzucać to czekam na błogosławieństwo :-)
Cytuj
programista Offline
Użytkownik

Liczba postów: 235
Reputacja: 17
Post: #5
RE: Optymalizacja skryptu 25-09-2014 21:15
Nikt nic nie powie?
Cytuj
klocek Offline
Administrator

Liczba postów: 3,044
Reputacja: 314
Post: #6
RE: Optymalizacja skryptu 26-09-2014 12:17
Nie będziemy poprawiać TT2. W tym samym wątku zostało wymienionych tyle zmian, że skrypt musiałby zostać prawie przepisany. W planach mamy wypuścić po prostu całkowicie nową i lżejszą wersję.
(Ten post był ostatnio modyfikowany: 26-09-2014 12:18 przez klocek.)
WWW Cytuj
programista Offline
Użytkownik

Liczba postów: 235
Reputacja: 17
Post: #7
RE: Optymalizacja skryptu 26-09-2014 18:43
No rozumiem, ale czy w takim razie miałbym zgodę wrzucać tutaj zmodyfikowane przez mnie wersje TT2?
Cytuj
klocek Offline
Administrator

Liczba postów: 3,044
Reputacja: 314
Post: #8
RE: Optymalizacja skryptu 26-09-2014 20:26
Jeżeli zachowałaś byś dane o podstawie (w sensie bazie na jakiej to robiłeś), to dlaczego nie miałbyś tego tutaj upublicznić? Wink
(Ten post był ostatnio modyfikowany: 26-09-2014 20:26 przez klocek.)
WWW Cytuj
programista Offline
Użytkownik

Liczba postów: 235
Reputacja: 17
Post: #9
RE: Optymalizacja skryptu 26-09-2014 20:39
Nie no, nie mam zamiaru ruszać żadnych nagłówków, komentarzy twórców itp., wole spytać, bo nie każdemu robiącemu soft takie coś pasuje.

Tak więc może, coś niedługo wrzucę pozdro.
Cytuj
kmike Offline
Pomocnik

Liczba postów: 2,096
Reputacja: 232
Post: #10
RE: Optymalizacja skryptu 17-12-2014 11:16
Punkt 2 i 3, z pierwszego posta, można zredukować do pojedynczego zapytania dodając konstruktor (załącznik apps.zip).

Zmieniłbym 3 rzeczy.
1 i 2) Uploader do logo i znaku wodnego - bez sensu jest opcja podawania ścieżki do logo czy znaku wodnego kiedy i tak trzeba je wgrywać ręcznie na serwer.
3) Ustawianie maila do formularza kontaktowego w panelu admina.


Załączone pliki
.zip  apps.zip (Rozmiar: 6.81 KB / Pobrań: 2)

- Pakiet aplikacji FB - 120 zł
- Pakiet WSZYSTKICH modyfikacji - 169 zł

(Ten post był ostatnio modyfikowany: 17-12-2014 11:16 przez kmike.)
WWW Cytuj


Skocz do:


Użytkownicy przeglądający ten wątek: 1 gości