Can't push or migrate site out of Local. Site is so slow it's unusable

Hi there,

Machine: 2016 MacBook Pro with 16gb RAM, SSD drive

Site: new WooCommerce site. It does have about 1,000 products and about 7,000 images in the media library.

Settings: It’s a Preferred site, not Custom. Faster Docker volumes is on.

The site is very slow in general. Just navigating around the dashboard takes many seconds.
I’ve tried every single method imaginable to get it out of Local and migrate to Live, but nothing works.

I’ve tried:

  1. Pushing to Flywheel
  2. Duplicator
  3. Updraftplus
  4. Migrate DB plugin
  5. Blogvault migrate

At first, I was consistently getting the Local Router Error. And in the error logs I saw references to “Input variables exceeded 4000”. Since I’m running a Preferred site, not Custom, I made my own conf directory, edited php.ini to increase the resource limits and the memory limit. Those problems seemed to go away.

But the site is still very slow/unresponsive. Every attempt to migrate the site or do a lengthy process results in an error, timeout, 503, etc. My CPU is consistently pinged at 99% running the unfsd process.

I have successfully exported from local as a bundle. I’d be happy to manually import those included .sql files into the destination site, but the table names are different for one thing. And secondly, I don’t see the correct sequence to run those scripts. Is there a master manifest to automatically call all the rest in the correct order? If not, there’s 69 of them, so that sounds like a lot of manual work.

Nothing works. It’s TRAPPED! I don’t want to lose all my work. Please help.

Thanks,
Dave

Dave,

I’m very sorry for the trouble!

For starters, can you please provide your local-by-flywheel.log file? This will provide insight into why the site failed to push to Flywheel among other things. Please see “How do I retrieve Local's log file? - FAQ - Local Community” for instructions on how to do so. Feel free to private message me the log file.

You can combine all of of the SQL files in the site’s app/sql folder by running cat app/sql/*.sql > ~/Desktop/site.sql in Terminal. Then, just run that single SQL file to import your site’s database.

At that point, you should be good to go.


If combining the SQL files isn’t the route you want to go, please continue reading:

I would take the export that you have an re-import it into Local but select the Custom environment. This will eliminate the Varnish caching layer which may be causing some trouble and some of the timeouts.

Also, if unfsd is locked up and maxing out your CPU, you may have better luck disabling Faster Docker Volumes.

Hey Clay,

Thanks for the quick reply!

Upon inspection, the log says
Jun 28, 2018, 9:34 AM GMT-7 - error: [PusherFlywheel] { statusCode: 400, body: '<?xml version="1.0" encoding="UTF-8"?>\n<Error><Code>EntityTooLarge</Code><Message>Your proposed upload exceeds the maximum allowed size</Message><ProposedSize>7435197030</ProposedSize><MaxSizeAllowed>5368709120</MaxSizeAllowed><RequestId>4D4FF754F0929962</RequestId><HostId>QvPnnfKgWC1O/lsUjnX2FfvTgEy64Yc3Xye/2/jelwBrcRYtYQENyZxu9YYDF4tbgiDXiRbjB7U=</HostId></Error>' }

Is this referring to a file in the media library? If so, can I exclude the media library for now and then upload those files separately?

If I simply cat them, will the order work ok? Like I’m sure the schema files need to run before the import scripts.

I tried this once before but it then prompted me to finish the ‘5 minute WP install’ and seemed to give me an empty site.

This helps, but now VBoxHeadless often is running more than 100% of the CPU :cry:

-Dave

Aha. The site is definitely large! There’s currently a 5GB max when pushing to Flywheel from Local using Connect to Flywheel.

You could try moving the wp-content/uploads folder out of the site, pushing the site, and then uploading the uploads folder manually. This is obviously not ideal but it’s another way to export the site if needed.

Definitely a valid concern! The cat command above should work though. The globbing pattern will put the schema files before the actual data. See below:

➜  sql for test in ./*.sql; do echo $test; done;
./local-schema-create.sql
./local.wp_commentmeta-schema.sql
./local.wp_comments-schema.sql
./local.wp_comments.sql
./local.wp_links-schema.sql
./local.wp_options-schema.sql
./local.wp_options.sql
./local.wp_postmeta-schema.sql
./local.wp_postmeta.sql
./local.wp_posts-schema.sql
./local.wp_posts.sql
./local.wp_term_relationships-schema.sql
./local.wp_term_relationships.sql
./local.wp_term_taxonomy-schema.sql
./local.wp_term_taxonomy.sql
./local.wp_termmeta-schema.sql
./local.wp_terms-schema.sql
./local.wp_terms.sql
./local.wp_usermeta-schema.sql
./local.wp_usermeta.sql
./local.wp_users-schema.sql
./local.wp_users.sql

How many plugins is the site running?

Also, is Dev Mode enabled or disabled?

For now what I’ve done is I connected to the DB directly from Local and did a SQL export. Then I imported it in the destination. Now I’m finishing up importing the media library. So I’m good for now (or I will be).

Thanks again Clay.

1 Like