Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[HOWTO] Speeding up portage with cdb -- UPDATE
View unanswered posts
View posts from last 24 hours

Goto page Previous  1, 2, 3, 4, 5, 6, 7, 8, 9, 10  Next  
Reply to topic    Gentoo Forums Forum Index Unsupported Software
View previous topic :: View next topic  
Author Message
PrakashP
Veteran
Veteran


Joined: 27 Oct 2003
Posts: 1249
Location: C.C.A.A., Germania

PostPosted: Sun Dec 05, 2004 11:48 am    Post subject: Reply with quote

SQLite - see portage-c... (needs less than 1 (sometimes to about 2) seconds to find something for me, cdb needs about 4-5 seconds) But it could also be python slowing down things a lot...
Back to top
View user's profile Send private message
SuperJudge
Apprentice
Apprentice


Joined: 08 Jun 2004
Posts: 177
Location: Albany, GA

PostPosted: Mon Dec 06, 2004 3:49 pm    Post subject: Reply with quote

emerge metadata is taking a long time.
_________________
---Powered by Honda
Back to top
View user's profile Send private message
s4kk3
Apprentice
Apprentice


Joined: 15 Oct 2004
Posts: 232
Location: Finland

PostPosted: Mon Dec 06, 2004 3:53 pm    Post subject: Reply with quote

yes. emerge metadata takes long but everything else is 100x faster for me.
_________________
My own filemanager project
Back to top
View user's profile Send private message
steveb
Advocate
Advocate


Joined: 18 Sep 2002
Posts: 4564

PostPosted: Mon Dec 06, 2004 4:13 pm    Post subject: Reply with quote

s4kk3 wrote:
yes. emerge metadata takes long but everything else is 100x faster for me.
for me everything else is about 100% faster (double the speed as without cdb).

cheers

SteveB
Back to top
View user's profile Send private message
SuperJudge
Apprentice
Apprentice


Joined: 08 Jun 2004
Posts: 177
Location: Albany, GA

PostPosted: Mon Dec 06, 2004 4:44 pm    Post subject: Reply with quote

s4kk3 wrote:
yes. emerge metadata takes long but everything else is 100x faster for me.
I'm quite certain that I've been emerging metadata for over an hour now. 8O
_________________
---Powered by Honda
Back to top
View user's profile Send private message
tobidope
n00b
n00b


Joined: 17 Aug 2003
Posts: 24
Location: Germany

PostPosted: Mon Dec 06, 2004 5:33 pm    Post subject: Reply with quote

Quote:
I'm quite certain that I've been emerging metadata for over an hour now. Shocked


I'm sorry, but that is a portage problem like i described before. Maybe you all should try anydbm instead of cdb. If this much faster than cdb I would suggest to use that db backend. Or I should try to send a patch to the devs for enhancing the metadata code-branch 8)
Back to top
View user's profile Send private message
SuperJudge
Apprentice
Apprentice


Joined: 08 Jun 2004
Posts: 177
Location: Albany, GA

PostPosted: Mon Dec 06, 2004 5:49 pm    Post subject: Reply with quote

It's no problem, I just didn't realize it was supposed to take a long time.

I'll background it.
_________________
---Powered by Honda
Back to top
View user's profile Send private message
tobidope
n00b
n00b


Joined: 17 Aug 2003
Posts: 24
Location: Germany

PostPosted: Mon Dec 06, 2004 5:58 pm    Post subject: Reply with quote

I didn't want to be offensive in anyway, but I will also try anydbm. And maybe I'll have to climb down in portage.py for enhancing the cache generation. I see no need for syncing after each key insertion (that's what makes emerge metatdata so slow), but maybe I should ask somebody who knows about that. Somebody here with expert portage knowledge? I think I should go to the "Portage & Pogramming" forum.
Back to top
View user's profile Send private message
TrueDFX
Retired Dev
Retired Dev


Joined: 02 Jun 2004
Posts: 1348

PostPosted: Mon Dec 06, 2004 9:23 pm    Post subject: Reply with quote

Wow, I'm impressed. I read that emerge --metadata would be slow, but this...

emerge --metadata in one terminal. emerge -1 glibc in another. emerge -1 glibc is moving the files to / right now, while emerge --metadata is at 82%.

(I'm sure it would have been a *lot* faster if I waited with the glibc installation until --metadata finished.)

As long as searching with emerge is fast afterwards, I'm happy. And it is :)
Back to top
View user's profile Send private message
mirko_3
l33t
l33t


Joined: 02 Nov 2003
Posts: 605
Location: Birreria

PostPosted: Tue Dec 07, 2004 1:17 pm    Post subject: Reply with quote

If searching is all it improves, I don't see why you don't just use (like I do) esearch: it's in portage, I rebuild the database nightly, and search is not fast - it's instant...
_________________
Non fa male! Non fa male!
Back to top
View user's profile Send private message
Hydraulix
Guru
Guru


Joined: 12 Dec 2003
Posts: 447

PostPosted: Wed Dec 08, 2004 10:08 am    Post subject: Reply with quote

Has this been updated in the new version of Portage?
_________________
It is the fate of operating systems to become free.
- Neal Stephenson
Back to top
View user's profile Send private message
TazG
Guru
Guru


Joined: 22 May 2004
Posts: 320
Location: Canada

PostPosted: Wed Dec 08, 2004 1:13 pm    Post subject: Reply with quote

You know I don't think it's as fast as you are saying it is. You see if you emerge -S mozilla twice, it will be faster the second time whether you are using cdb or not because it is cached in memory.
emerge -S mozilla without cdb:
Code:
real    3m9.985s
user    1m25.189s
sys     0m13.098s
emerge -S mozilla AGAIN without cdb:
Code:
real    1m47.062s
user    1m22.551s
sys     0m11.705s
emerge -S mozilla with cdb:
Code:
real    1m19.555s
user    1m9.137s
sys     0m4.165s
So. It may look like it's 2 minutes faster if you don't do it twice without cdb, but it's actually only about 30 seconds faster.
Back to top
View user's profile Send private message
PrakashP
Veteran
Veteran


Joined: 27 Oct 2003
Posts: 1249
Location: C.C.A.A., Germania

PostPosted: Wed Dec 08, 2004 2:03 pm    Post subject: Reply with quote

But the difference is, cdb is fast from the first time, and even faster the second time when data files are cached...
Back to top
View user's profile Send private message
TazG
Guru
Guru


Joined: 22 May 2004
Posts: 320
Location: Canada

PostPosted: Wed Dec 08, 2004 2:46 pm    Post subject: Reply with quote

Actually a fourth emerge -S mozilla (second time with cdb) is only 4 seconds faster than the third.
Back to top
View user's profile Send private message
tobidope
n00b
n00b


Joined: 17 Aug 2003
Posts: 24
Location: Germany

PostPosted: Wed Dec 08, 2004 2:52 pm    Post subject: Reply with quote

And the second difference, if you have an older machine with not so much RAM and disk cache most oft the time when you do something portage related the process is waiting for I/O. Of course throwing more RAM and processorpower at something solves almost any performance problem. That's one point of view and mostly it's cheaper to buy more hardware instead of solving a problem efficient. But in my opinion the db backend of portage is something where you could think 5 minutes to enhance it. In an ideal world there should be no need for something like esearch, because the portage cache would be fast enough.
Back to top
View user's profile Send private message
killercow
Tux's lil' helper
Tux's lil' helper


Joined: 29 Jan 2004
Posts: 86
Location: Netherlands

PostPosted: Thu Dec 09, 2004 1:58 pm    Post subject: local mysql server as lan-wide portage dir? Reply with quote

isn;t it theoretically possible to connect to any mysql server?
If this mysql server sits in the lan on my personal house server all of my other machines should be able to connect to it and search the portage tree on that machine?

How would we do this? im no python whiz (alltough i can do some stuff) so is there a quick way to do this?

Would it also suffice to just update the portage tree on the server (or does portage keep a different tree based on the emerged packages per system?)
Back to top
View user's profile Send private message
tobidope
n00b
n00b


Joined: 17 Aug 2003
Posts: 24
Location: Germany

PostPosted: Thu Dec 09, 2004 4:47 pm    Post subject: Reply with quote

@killercow

Read the first post of this thread. There is a reference to the mysql solution.
Back to top
View user's profile Send private message
killercow
Tux's lil' helper
Tux's lil' helper


Joined: 29 Jan 2004
Posts: 86
Location: Netherlands

PostPosted: Wed Dec 15, 2004 10:03 am    Post subject: noticed the mysql part Reply with quote

could it be possible to keep one portage tree in mysql on a seperate machine? And still use all different clients (my machine, my laptops,my servers, my brothers pc, etc) to use this one portage tree and still have a different set of installed programs?
Back to top
View user's profile Send private message
Mindphaser
Tux's lil' helper
Tux's lil' helper


Joined: 15 Dec 2004
Posts: 113
Location: Germany

PostPosted: Wed Dec 15, 2004 10:12 pm    Post subject: Reply with quote

Very nice, but "emerge sync" is hell slow now....
Is it normal, that before syncing the Portage Cache, he simply deletes it ?
So "Updating Portage Cache" takes as long like "emerge metadata" does....

And, sadly, i dont get a massive speed-up like some other people here.
"emerge kde --search > bla" took 4,5sec. , with cdb-powered-portage, 4,3sec :?

However, thats better than nothing, but that long "Update Portage Cache" after every sync are realy disturbing....

btw: I have a Athlon XP 2600+ with 512MB RAM
Back to top
View user's profile Send private message
LucaSpiller
Apprentice
Apprentice


Joined: 10 Sep 2004
Posts: 188
Location: Censorship Land (aka England)

PostPosted: Wed Dec 15, 2004 10:56 pm    Post subject: Reply with quote

It seems ok, there doesn't really seem to be much of a speed increase for me - mainly because I don't search that much. Searching is quite a bit quicker but is still rather slow.

Portage-c looks good so I might give that a try.
_________________
:: Luca :: Mac Fag :: Original Macbook, 2g RAM :: Closet Linux user (seasoned with salt and pepper) :: C2D E4400 @ 2ghz, 4g RAM (only 3.2g detected under 64bit...), Nvidia 9600GSO ::
Back to top
View user's profile Send private message
gentoo_lan
l33t
l33t


Joined: 08 Sep 2004
Posts: 891
Location: Charles Town, WV

PostPosted: Thu Dec 16, 2004 12:04 am    Post subject: Reply with quote

It looks pretty good to me so far. Good work.
Back to top
View user's profile Send private message
thoffmeyer
Apprentice
Apprentice


Joined: 11 Apr 2004
Posts: 208
Location: GMT -5 Hours

PostPosted: Thu Dec 16, 2004 3:35 pm    Post subject: Reply with quote

works great over here, im too lazy to post but thanks.
Back to top
View user's profile Send private message
tobidope
n00b
n00b


Joined: 17 Aug 2003
Posts: 24
Location: Germany

PostPosted: Sun Dec 19, 2004 11:00 am    Post subject: Reply with quote

Mindphaser wrote:
Very nice, but "emerge sync" is hell slow now....
Is it normal, that before syncing the Portage Cache, he simply deletes it ?
So "Updating Portage Cache" takes as long like "emerge metadata" does....

And, sadly, i dont get a massive speed-up like some other people here.
"emerge kde --search > bla" took 4,5sec. , with cdb-powered-portage, 4,3sec :?

However, thats better than nothing, but that long "Update Portage Cache" after every sync are realy disturbing....

btw: I have a Athlon XP 2600+ with 512MB RAM


Try the new module. emerge sync should be much faster!
Back to top
View user's profile Send private message
PrakashP
Veteran
Veteran


Joined: 27 Oct 2003
Posts: 1249
Location: C.C.A.A., Germania

PostPosted: Sun Dec 19, 2004 11:17 am    Post subject: Reply with quote

[Edit] Forget it, I somehow missed the first line...

Yup, it's a *lot* faster on updating database. Very nice. :)
Back to top
View user's profile Send private message
matroskin
Apprentice
Apprentice


Joined: 21 Jan 2003
Posts: 214

PostPosted: Sun Dec 19, 2004 12:10 pm    Post subject: Reply with quote

after upgrading to new /usr/lib/portage/pym/portage_db_cdb.py
I get this error.
Code:
root@anatolya:~ # emerge -pv system

These are the packages that I would merge, in order:

Calculating system dependencies /auxdb exception: [/usr/portage::dev-lang/python-2.1.3-r1]: 'NoneType' object has no attribute 'get'
Traceback (most recent call last):
  File "/usr/bin/emerge", line 2935, in ?
    if not mydepgraph.xcreate(myaction):
  File "/usr/bin/emerge", line 1320, in xcreate
    myeb=portage.portdb.xmatch("bestmatch-visible",mydep)
  File "/usr/lib/portage/pym/portage.py", line 5363, in xmatch
    myval=best(self.xmatch("match-visible",None,mydep=mydep,mykey=mykey))
  File "/usr/lib/portage/pym/portage.py", line 5374, in xmatch
    myval=match_from_list(mydep,self.xmatch("list-visible",None,mydep=mydep,mykey=mykey))
  File "/usr/lib/portage/pym/portage.py", line 5360, in xmatch
    myval=self.gvisible(self.visible(self.cp_list(mykey)))
  File "/usr/lib/portage/pym/portage.py", line 5458, in gvisible
    myaux=db["/"]["porttree"].dbapi.a
ux_get(mycpv, ["KEYWORDS"])
  File "/usr/lib/portage/pym/portage.py", line 5117, in aux_get
    if self.auxdb[mylocation][cat].has_key(pkg):
  File "/usr/lib/portage/pym/portage_db_cdb.py", line 106, in has_key
    if self.data.cdbObject.get(key) is not None:
AttributeError: 'NoneType' object has no attribute 'get'

Can u post plz initial version of this python file?
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Unsupported Software All times are GMT
Goto page Previous  1, 2, 3, 4, 5, 6, 7, 8, 9, 10  Next
Page 2 of 10

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum