PPM eats much traffic and is very slow

Posted by myke on 2006-10-11 02:07
Forums: PPM | OS: Windows XP Pro

I'm using activeperl 5.8.8.189,

after starting PPM waits for very long time and tries to download enourmously long list of packages, that make impossible to use it with dialup line.
And even with permanent internet connection I don't want to reload megebytes of lists every time.
Both GUI and command-line versions work this way.
Seems that the best way is to downgrade to one of previous versions of AP (with not hungry PPM) and never upgrade.
Is it right?

Same problem is with webpage of packages,
by default it lists all the packages for all platforms;
seems that suggesting user a form with selecting of platform and pattern for package name would be much more convenient.

jeff.griffiths | Wed, 2006-10-11 08:19

PPM 4 does download data to update it's local database intitially, but this is a trade-off to improve search speed when searching for packages. We viewed this as an acceptable trade-off but did not actually test usage on a dial-up connection.

wilsonpm | Mon, 2006-10-16 09:58

I have to agree with the OP - I am testing ppm using a 4xT1 connection to a proxy server and performance is terrible.

Every time I start ppm it spends 10 - 15 minutes going through the list of packages and downloading something.

It would be faster for me to download and compile packages when I need them.

jeff.griffiths | Mon, 2006-10-16 11:46

In our tests using recent hardware on residential Broadband connections, synching only taks 15-20 seconds or so. We've never seen 10-15 minutes. A couplpeof questions:

- what hardware are you running ppm on?
- is the location of Activeperl on the local system or a remote drive of some type?

wilsonpm | Mon, 2006-10-16 13:56

Dell Optiplex GX280 - P4 2.8 GHz, 512MB RAM, Windows XP Pro SP2

ActivePerl installed on c:\perl

I am remotely controlling the PC using MSTSC.

I see a status message displayed in the Status panel:
Synchronizing Dtaabase ... Downloading ActiveState Package Repository packlist ... DONE

Then I see:
Download ActiveState Package Repository CPAN-Test-Dummy-Perl5-Build-DepeFails ... DONE
Download ActiveState Package RepositoryDevel-EnforceEncapsulation ... DONE

etc. for 15 minutes.

NOTE: This time it did it for about 30 seconds and only did 15 or so packages - the first time (and the last time I ran it, about four weeks ago) it did it through all package names and took 15 minutes or more (I left it running over lunch).

wilsonpm | Tue, 2006-10-17 14:28

I just started up ppm after 24 hours and it is currently Downloading Acme-True, Acme-Your, etc... with various 304 and DONE messages and has been for a minute. It will take another 15 - 20 minutes to do them all.

gozer | Tue, 2006-10-17 16:09

This was mostly caused by the first time ppm was launched, it had trouble reaching ppm.activestate.com.

ppm.activestate.com hosts a summary file that is about 500Kb in size and only needs to be downloaded when new packages are published.

However, the ppm client also knows how to scan a directory listing for PPDs, and that's what's it is doing in your case. For a repository our size, that's gonna take a long time indeed.

Check what your repository configuration is like with:

$> ppm repo list
$> ppm repo desc 1
Id: 1
Name: ppm4.activestate.com
URL: http://ppm4.activestate.com/i686-linux/5.8/819/package.xml

You can try and delete that repository configuration with

$> ppm repo del 1

And re-add it

$> ppm repo add http://ppm4.activestate.com/MSWin32-x86/5.8/819
$> ppm repo sync --force
$> ppm log
[Web.pm:63] GET package.xml ==> 200 OK (582618 bytes in 0.27 sec - 2103 KB/s)

Hope this helps

wilsonpm | Wed, 2006-10-18 06:03

When I displayed the current repo description, the URL was:
http://ppm.activestate.com/PPMPackages/5.8-windows/

I replaced the repo and ppm started in a few seconds.

This is much better, but maybe some more descriptive Status messages and a UI for whatever caused it to scan for PPDs instead of attempting to download the summary file would be allow figuring this out easier.