This is the technical support forum for WPML - the multilingual WordPress plugin.

Everyone can read, but only WPML clients can post here. WPML team is replying on the forum 6 days per week, 22 hours per day.

Tagged: 

This topic contains 12 replies, has 2 voices.

Last updated by Yonatan Ezer 1 week, 6 days ago.

Assigned support staff: Andreas W..

Author Posts
October 2, 2019 at 3:41 pm #4681843

Yonatan Ezer

Hi,
i have a site with WPML :
hidden link

and the site is SLOW
i installed SWIFT Pro caching plugin
so now pages that are in the cache are loaded very fast.
but every button i am clicking in the page is taking a lot of time
and the admin backend is very slow !

i asked the hosting support to tell me the heaviest queries
and this is the top query that responsible to 70% of the load-

select distinct s.id, s.name, s.context, st.status, s.gettext_context, st.value as tra, st.mo_string as mo_string, s.value as orig
from czZ9d3_icl_string_pages sp
inner join czZ9d3_icl_string_urls su on su.id = sp.url_id
inner join czZ9d3_icl_strings s on s.id = sp.string_id
left join czZ9d3_icl_string_translations st on s.id=st.string_id and st.language=su.language and s.language!=su.language
where (su.language=? and su.url=?) or (su.language=? and su.url is null)

this query with the parameters : 'he', 'ajax-request', 'he'
return over 4500 results

i already did the 4 steps in
https://wpml.org/faq/prevent-performance-issues-with-wpml/

i also :
cleared the cache in WPML
and recreate ST DB cache tables

i would like getting your help speeding up the site.

Thanks,
Shay

October 2, 2019 at 10:38 pm #4683413

Andreas W.
Supporter

Languages: English (English ) Spanish (Español ) German (Deutsch )

Timezone: America/Lima (GMT-05:00)

Hello,

Thank you for contacting the WPML Support Forum.

We are currently working on our next major release which is dedicated to enhancing performance issues as seen on your site.

I would like to encourage you to take a backup of your site and database and test our Beta Versions. The Google Chrome Browser add-on Page Load Time is a great tool when it comes to test the site generation speed but make sure to refresh after loading the page for the first time for exact results.

hidden link

Install our Beta Plugins by going to Plugins -> Add New -> Commercial and switch to the Beta Channel. Now install the Beta versions for CMS Multilingual, Translation Management, String Translation, and WooCommerce Multilingual.

Make sure to compare the page generation time from a minimal setup, when only WPML plugins are active, to complete setup, with all plugins running and let me know if the Beta versions are solving the issue.

The Beta Plugins can also be found on our website, in your accounts download section.

Kind regards
Andreas

October 2, 2019 at 11:03 pm #4683431

Yonatan Ezer

i will need to check if the client is willing to be a beta test for such an important tool.
in the mean time, can you please give me more ideas what can i check/clean ?
should i just press all of the buttons in the Clean up area in the Troubleshooting page of the plugin ?
i really needs to fix this issue, and i am afraid it will takes time to test the beta version.
Thanks.

October 2, 2019 at 11:14 pm #4683433

Andreas W.
Supporter

Languages: English (English ) Spanish (Español ) German (Deutsch )

Timezone: America/Lima (GMT-05:00)

Hello,

I would suggest you run all the options, just in case. It will clean up database issues. But make sure to take a backup of the site.

Then you could run some SQL queries to delete untranslated strings from tables.

1) Run the following queries one by one

a)

DELETE FROM wp_icl_strings WHERE status IN (3, 1);

b)

DELETE FROM wp_icl_string_translations WHERE string_id NOT IN (select id from wp_icl_strings);

c)

TRUNCATE wp_icl_string_packages;
TRUNCATE wp_icl_string_positions;

2) After that visit WPML>>Support page

3) Click on Troubleshooting link(blue link at the bottom of page)

4) Then click on *Recreate ST DB cache tables* button of Clean up to recreate the string translation DB cache tables

Also, did you exclude the domains from auto-registering at String Translation -> Auto registering strings?
Simply exclude them all after the untranslated strings have been deleted and it should minimize the DB size and DB queries.

Anyhow, when it comes to the Beta I can promise you that it will enhance the site performance. All tests have run very promisingly so far and the final releases will come out sooner, hopefully within the next two months.

I can offer you to take a copy of your site for testing?

I would like to request temporary access (wp-admin and FTP) to your site to take a better look at the issue. It would be better to a testing site where the issue is replicated.

You will find the needed fields for this below the comment area when you log in to leave your next reply. The information you will enter is private which means only you and I can see and have access to it.

Maybe I'll need to replicate your site locally. For this, I’ll need to temporarily install a plugin called “Duplicator” on your site. This will allow me to create a copy of your site and your content. Once the problem is resolved I will delete the local site. Let me know if this is ok with you.

IMPORTANT

Please make a backup of site files and database before providing us access.
If you do not see the wp-admin/FTP fields this means your post & website login details will be made PUBLIC. DO NOT post your website details unless you see the required wp-admin/FTP fields. If you do not, please ask me to enable the private box. The private box looks like this:
hidden link

Kind regards
Andreas

October 3, 2019 at 7:06 am #4684959

Yonatan Ezer

in this link -
https://wpml.org/faq/prevent-performance-issues-with-wpml/

it says -
Go to the WPML -> String Translation page and scroll down to the Auto register strings for translation section. Click the Edit button and make sure that all text domains are selected. Excluding any text domains can lead to performance issues as WPML would need to load the .mo files.

and you said that after i run the delete & truncate commands
i should exclude everything

so should i exclude everything,
or enable everything

October 3, 2019 at 7:11 am #4684973

Yonatan Ezer

DELETE FROM wp_icl_strings WHERE status IN (3, 1);

0 records deleted

DELETE FROM wp_icl_string_translations WHERE string_id NOT IN (select id from wp_icl_strings);

0 records deleted

TRUNCATE wp_icl_string_packages;

5 records deleted (i checked before how much records there are)

TRUNCATE wp_icl_string_positions;

0 records deleted

October 3, 2019 at 7:21 am #4685029

Yonatan Ezer

i excluded all string domains
and then i recreate the ST DB
still very very slow backend

please open a private box to give you access
so you could check this urgent issue.

thank

October 3, 2019 at 7:22 am #4685031

Yonatan Ezer

i asked the hosting to install REDIS on the server
do you think it will help ?
should we install memcached as well ?

October 3, 2019 at 10:10 am #4686687

Yonatan Ezer

my hosting support
checked again heavy queries

and still this query is the cause of the load
run 5,770 times in the last 24 hours
and took 1.6 sec on average !

keep in mind that when i run it in MyPHPAdmin (i just pick some parameters) -
SELECT DISTINCT s.id, s.name, s.context, st.status, s.gettext_context, st.value AS tra, st.mo_string AS mo_string, s.value AS orig FROM czZ9d3_icl_string_pages sp INNER JOIN czZ9d3_icl_string_urls su ON su.id = sp.url_id INNER JOIN czZ9d3_icl_strings s ON s.id = sp.string_id LEFT JOIN czZ9d3_icl_string_translations st ON s.id=st.string_id AND st.language=su.language AND s.language!=su.language WHERE (su.language='he' AND su.url='ajax-request') OR (su.language='he' AND su.url is null)

it took 0.0020 sec.

October 3, 2019 at 2:09 pm #4688567

Andreas W.
Supporter

Languages: English (English ) Spanish (Español ) German (Deutsch )

Timezone: America/Lima (GMT-05:00)

Hello,

I would like to request temporary access (wp-admin and FTP) to your site to take a better look at the issue. It would be better for a testing site where the issue is replicated.

You will find the needed fields for this below the comment area when you log in to leave your next reply. The information you will enter is private which means only you and I can see and have access to it.

Maybe I'll need to replicate your site locally. For this, I’ll need to temporarily install a plugin called “Duplicator” on your site. This will allow me to create a copy of your site and your content. Once the problem is resolved I will delete the local site. Let me know if this is ok with you.

IMPORTANT

Please make a backup of site files and database before providing us access.
If you do not see the wp-admin/FTP fields this means your post & website login details will be made PUBLIC. DO NOT post your website details unless you see the required wp-admin/FTP fields. If you do not, please ask me to enable the private box. The private box looks like this:
hidden link

Kind regards
Andreas

October 4, 2019 at 12:08 am #4691795

Andreas W.
Supporter

Languages: English (English ) Spanish (Español ) German (Deutsch )

Timezone: America/Lima (GMT-05:00)

Hello,

After running the WPML troubleshoot options and running the site with only the Classic Editor, WooCommerce, and WPML and its addons the page generation time of your homepage was reduced from 22 seconds in a complete setup to average only 5 seconds.

This issue is here less related to WPML as you can see that the site uses about more than 15 seconds less to generate the homepage when running with WooCommerce and WPML plugins only.

As our developers are currently working on major updates in order to enhance the performance of WPML I would advise to installed out Beta Versions of Multilingual CMS, Translation Management, String Translation, WooCommerce Multilingual and Yoast SEO Multilingual.

You can find them at Plugins -> Add new -> Commercial while switching to the Beta Channel.

If it is alright for you I can install the plugins and continue testing, but I am sure those updates will enhance the page generation time, but they will not solve the issue completely.

If you wish I can investigate further, to see which plugins are causing the main delay and if there is an issue in regards to the theme.

Let me know if it is ok if I install the Beta Plugins and maybe activate a default theme for testing.

Kind regards
Andreas

October 4, 2019 at 5:15 am #4692775

Yonatan Ezer

these testing should be on the staging site, and not on the live one.
please do NOT do more changes in the live site.

in my tests, the Woo products slider in homepage
loaded 300 products causing massive load

i limit it to 20 products
and it is ok now, not great, but fine

so WPML, as you said, is adding more load, but it's not the root cause
thanks

October 4, 2019 at 5:17 am #4692779

Yonatan Ezer

i will continue from here