Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> AdoDB i jej slaba wydajnosc, da sie przyspieszyc?
Cezar708
post 25.01.2007, 19:36:57
Post #1





Grupa: Zarejestrowani
Postów: 1 116
Pomógł: 119
Dołączył: 10.05.2005
Skąd: Poznań

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


Witam.

Używam AdoDB (@version V4.91 2), baza danych to PostgreSQL 8.1

W pewnym momencie zauwazyłem ze skrypty sa po prostu wolne... Używając Benchmark::Profiler z PEAR'a wyszukałem 'wąskie gardło', okazało się nim AdoDB.

Przykład:
Listing 1:
  1. <?php
  2. function get_sections(){
  3.  
  4. global $conn; // to jest obiekt AdoDB
  5. $sql_select = '
  6. SELECT id_section, longname
  7. FROM exe_sections
  8. ORDER BY sorter
  9. ';
  10. return $conn->getAll($sql_select);
  11.  
  12. }
  13. ?>

Listing 2:
  1. <?php
  2. function get_sections(){
  3. global $db; // to jest resource - wynik pg_connect()
  4. $sql_select = '
  5. SELECT id_section, longname
  6. FROM exe_sections
  7. ORDER BY sorter
  8. ';
  9. return pg_fetch_all(pg_query($db,$sql_select));
  10. }
  11. ?>


Wynik jaki pokazał Profiler był dla mnie zaskakujący, ponieważ okazało się, że listing 1 wykonywał się ponad pięciokrotnie dłużej niż listing 2, gdzie nie użyłem AdoDB. Oczywiście tendencja ta jest prawidłowa do odwołań w całym systemie...

Czy to jest normalne?

Niefortunnie AdoDB jest używany w całym projekcie.
Czy jest jakiś sposób na 'przyspieszenie' tej biblioteki, albo w zgrabny sposób zamiana jej na inną - szybszą (czyli tak, żeby nie przekopywać wszystkich skryptów)?

Mieliście taki problem? Jeśli tak to jak go rozwiązaliście?
Go to the top of the page
+Quote Post
nrm
post 25.01.2007, 19:57:50
Post #2





Grupa: Zarejestrowani
Postów: 627
Pomógł: 33
Dołączył: 1.05.2005
Skąd: Katowice

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


Cytat(Cezar708 @ 25.01.2007, 19:36:57 ) *
Mieliście taki problem? Jeśli tak to jak go rozwiązaliście?

zrezygnowałem z AdoDB :/ to straszna kobyła.

może zobacz to:
http://adodblite.sourceforge.net/index.php
i to
http://adodblite.sourceforge.net/benchmark.php
i to
http://creole.phpdb.org/trac/
i to
http://www.openpb.net/downloads.php


--------------------
Go to the top of the page
+Quote Post
Cezar708
post 25.01.2007, 20:30:44
Post #3





Grupa: Zarejestrowani
Postów: 1 116
Pomógł: 119
Dołączył: 10.05.2005
Skąd: Poznań

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


Na początek wersja AdoDB Lite musi mi starczyć.

Fakt... wg Benchmark::Profiler'a AdoDB-lite jest około 2x szybsze od 'zwykłego' AdoDB, póki co na wersji roboczej będę z nim pracował... zobaczymy czy czasem wersja LITE nie ma jakiś ukrytych wad.

Dzięki za pomoc.

Nie rozpoczynając nowego wątku...

... dla dużego systemu (około 1000-1500 zalogowań dziennie), który chodzi na PostgreSQL to jaką bibliotekę używacie do łączenia się z bazą? Pytam, bo zawsze (do teraz) byłem zwolennikiem AdoDB, ale ta historia nauczyła mnie że rzeczywistość nie jest taka piękna.
Go to the top of the page
+Quote Post
nrm
post 25.01.2007, 23:06:44
Post #4





Grupa: Zarejestrowani
Postów: 627
Pomógł: 33
Dołączył: 1.05.2005
Skąd: Katowice

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


PDO. Nie pobijesz tego szybkością softowego rozwiązania. Do tego jakiś cache, zobacz jak wygląda w/w biblioteka OpenPowerDriver. Możesz to sobie dowolnie rozbudować.


--------------------
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 Wersja Lo-Fi Aktualny czas: 8.07.2025 - 06:55