It is normal for a PURL server's database to slow during ingest. It may take days to load hundreds of thousands of PURLs. However, we have production users with nearly one million PURLs, so we know that works.
Please note that hsqldb is an in-memory database. Lack of RAM is no way to test scalability. Hsqldb is provided for small installations: We recommend that you use MySQL and calculate sufficient RAM to keep indexes in memory.
For example, one production site is currently running 100,000 PURLs with 8 GB of RAM.
Does that help you?
Regards,
Dave
//Ed