openEMR 7.0.2 extremely slow

Hello everyone, I have updated from openEMR 6.0.0(3) to 7.0.2. The system runs on win 10 home 64 bits, with xampp PHP 8.1. Before updating, version 6 worked with PHP 7.4 and had no problems. Now I have had many problems, but the main one is that the system has become extremely slow, it can take more than 14 seconds to load the flow board, and longer to load the patient. Any idea how to fix it? The PC has a 4-core 3.6 processor and 16 GB of DDR4 memory.
Maybe @sjpadgett , @brady.miller , @stephenwaite can give us a clue on how to solve it.

Thank´s

hi @mlobo4370, did you clear the cache in the browser?

I have done a “tweak”, I have changed a line in main.php

// auto run this function every 60 seconds
            var repeater = setTimeout("goRepeaterServices()", 60000);

I changed it to

var repeater = setTimeout("goRepeaterServices()", 3600000);

This will refresh each hour instead of every minute. That will help.

Have you identified any process that may be running heavy CPU or memory on your Windows?

where is this file located?

It is located on interface/main/tabs/main.php

Hi stephen. Yes I do, but the problem not was fixed.
Thank’s

Hello, thanks for the answer. I have not found any process with excessive memory or preprocessor usage. As I already mentioned, with version 6.0.0(3) and PHP 7.4 it worked perfectly. I have noticed that they usually do it when they are using the system from another office, but before we also did it and it didn’t cause problems. On the other hand, in that situation there are only 2 doctors and 2 administrators connected.

thanks

hi @mlobo4370 , what are you settings for innodb?

1 Like

Hello stephen. I don’t know if you are referring to the PHP.ini configuration, they are the ones recommended in the installation wiki

[image]

How did you update xampp php version? Did you install as a new xampp version or simply update current?
I believe if current version you may need to check all logs and truncate them. If not check your xampp, sequel engine and virtual host to ensure all appropriate setting have been forwarded to the new.
Also ensure all your global/config settings are the same as previous v6 i.e check logging settings.
Perhaps archive and truncate log table.

Memory demands have certainty increased since PHP 7.4 and v6. Check your task manager memory usage.

Lastly, for sure follow @stephenwaite recommendation and tune your inno settings in sequel’s engine config, my.ini. You can get to it in xampp control panel and perhaps research tuning on the web.

Unsure what your openemr demands are but four cores sounds like an older machine. It really depends on your usage as to if a new machine is required. If you do upgrade I recommend getting yourself a mini computer but again depends on how you use your current server.

Thank you jerry. The installation of the processor is an amd a12, with 16 gb ddr4, mother asrock, i only use it in 2 centers, and simultaneously with no more than 2 doctors and 2 secretaries, i think the machine should not be a problem.

What do you mean by mini computer? What features do you recommend? Tomorrow i will try the innodb configuration and comment. As for xampp, would it be better to update to the latest version with php 8.2??

Thanks for your help

Hi Martin, One of my problems is I can’t test unless I setup a dataset to exercise flowboard.
Flowboard requires a lot of sequel engine hits depending on how many patients and appointments it has to filter however, I agree what you’re experiencing goes beyond machine capabilities in your case.

What happened with the environment in the interim of the upgrade. You still haven’t fully answered my questions concerning what and how did you upgrade xampp dependencies? Or reported back on memory usage from task manager.
Also what sequel engine and version are you using?
Have you looked at your browser console when you bring up flowboard for errors or clues?
What about the php error log that can be found using xampp control panel?

I’ve seen xampp do some weird things concerning performance where sometimes logging in temp directory can affect performance but my gut tells me something is going on by way of a misstep in upgrade process.

Something is bogging the system and need to find where.

Concerning mini’s they are small desktops that generally use laptop micro’s.
I currently use a mini that has 32GB memory, 1TB SSD running an i9 12th gen intel. Very fast.
I run a similar mini except a 12th generation i7 running on linux ubuntu for my family’s clinic which has maybe 4 provider at any given time.
I sell preconfigured with openemr servers but I don’t advertise it and is word of mouth.

Get back to me on my questions and depending on how much data and files you have then upgrading by installing new xampp version may be the way to go. Since you have php 8.1 installed moving ini config is easy. I’ve simply renamed current version and installed new xampp as if upgrading current then moved files and data from renamed directory. Be sure to backup database in a way that makes importing as easy as possible because I expect a sequel engine version upgrade.

Windows read and write on older drives can and will drive you crazy.:slight_smile:
Good luck

Thanks @sjpadgett . Sorry for not having answered all the questions. Although I defend myself quite a bit on these issues, I am not a super specialist, I am a doctor and an OpenEMR user and I have it installed on two servers for use in my offices. Both under win 10 with xampp. The problem described arose after updating from openemr 6.0.0(3) in xampp with PHP 7.4 to 7.0.2 with xampp PHP 8.1.25. Although the database is very large, I don’t think it is the problem since before the update it worked very fast. Unfortunately I was not able to record the update step by step to be able to answer all the questions. I basically installed xampp with php 8.1 from scratch, copied my openemr 6 folder, configured php.ini, vitrual host, imported the database with the users and their privileges. After this there were things that did not work in version 6.0.0(3), so I updated according to the guide, first to 6.1, then to 7.0.0, then to 7.0.1 and finally to 7.0.2. From there the things that didn’t work started to work, so it was probably a PHP version issue.

As soon as I have time I will do an installation from 0, with the latest xampp, and I will document everything. The problem is that doing it with the original base of 6.0.0 the data will be outdated because even though sometimes it gets so slow that it can hardly be used, we continue using it.

I have another installation that I have done with the same procedure and it is working well, although the database has many fewer patients. In the latter, a strange error appeared, when giving an appointment, enter the departure time as when an appointment ends, which then makes the times shown on the flow board be anything.
I put the openemr 7.0.2 folder back and did the update process and it continues doing the same, the rest is working OK.

PS: I have found some problems regarding the flow board that have been there since the first versions and are reproduced in the demo, later there will be a topic to comment on that point.

thanks for your time

Okay I understand better, thanks.
Sounds like you did the same process as upgrading to xampp 8.2 so I would leave a reinstall as a last resort!
I assume you have access to phpmyadmin so you can run sql queries; I’d like to send you a query just so we can get an idea if an issue in database.
I still have like 20 emails to answer so I’ll put one up here sometime today when I get time.

Meantime the xampp version you have chosen and installed should be fine until PHP 8.1 LTS runs out.
It may be worthwhile to decide now if you want to wait til nov 2024 when PHP LTS is up to upgrade to PHP 8.2. Personally I’d wait and give us more time to shake out PHP 8.2, 8.3 and now 8.4 deprecated errors etc.

ok, I await the sql query and your instructions, I can help in any way so that openemr returns to its previous speed

regards

hi @mlobo4370, can you find your innodb settings under the xampp mysql directory?

Sorry for the delay @stephenwaite , I was just attending the office. I tell you that I made the suggested changes before starting work.

My my.ini had this configuration:

Comment the following if you are using InnoDB tables

#skip-innodb
innodb_data_home_dir=“F:/xampp/mysql/data”
innodb_data_file_path=ibdata1:10M:autoextend
innodb_log_group_home_dir=“F:/xampp/mysql/data”
#innodb_log_arch_dir = “F:/xampp/mysql/data”

You can set …_buffer_pool_size up to 50 - 80 %

of RAM but beware of setting memory usage too high

innodb_buffer_pool_size=16M

Set …_log_file_size to 25 % of buffer pool size

innodb_log_file_size=5M
innodb_log_buffer_size=8M
innodb_flush_log_at_trx_commit=1
innodb_lock_wait_timeout=50

by changing it to the suggested one:

innodb_data_file_path = ibdata1:10M:autoextend
innodb_log_group_home_dir = “/xampp/mysql/data”
innodb_log_arch_dir = “/xampp/mysql/data”

You can set …_buffer_pool_size up to 50 - 80 %

of RAM but beware of setting memory usage too high

innodb_buffer_pool_size=32M
innodb_additional_mem_pool_size=4M

Set …_log_file_size to 25 % of buffer pool size

innodb_log_file_size=8M
innodb_log_buffer_size=8M
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout=50

mysql server starts and after a few minutes it turns off, if I comment the line:
innodb_additional_mem_pool_size=4M

It works, but I haven’t noticed any changes in speed.

As I write this I see that there are other options with more buffer, I have tried them with 256 MB, and I still don’t notice any differences.
With innodb_additional_mem_pool_size added the server does not start

estoy esperando la consulta sql de martin para ver si hay algo en la base.
tambien estaba pensando en ver si puedo armar una consulta de actualizacion para modificar todos los datos sensibles de los pacientes y asi ver si le puedo pasar la base a martin para que pueda hacer las pruebas que necesite.
por otro lado, si bien casi no he entrado a las demos, la semana pasada entre para ver de reportar un problema, y tambien la note muy lenta.

I’m waiting for @sjpadgett ‘s sql query to see if there is anything in the database.
I was also thinking about seeing if I can set up an update query to modify all the patients’ sensitive data and see if I can pass the database to @sjpadgett so he can do the tests he needs.
On the other hand, although I have hardly entered the demos, last week I entered to see if I could report a problem, and I also noticed it was very slow.

Thank you all for your support

would increase this to 4G and adjust the log file size accordingly

I make this configuration:

Comment the following if you are using InnoDB tables

#skip-innodb
innodb_data_home_dir=“F:/xampp/mysql/data”
innodb_data_file_path=ibdata1:10M:autoextend
innodb_log_group_home_dir=“F:/xampp/mysql/data”
#innodb_log_arch_dir = “F:/xampp/mysql/data”

You can set …_buffer_pool_size up to 50 - 80 %

of RAM but beware of setting memory usage too high

innodb_buffer_pool_size=4096M
##innodb_additional_mem_pool_size=20M

Set …_log_file_size to 25 % of buffer pool size

innodb_log_file_size=1024M
innodb_log_buffer_size=8M
innodb_flush_log_at_trx_commit=1
innodb_lock_wait_timeout=50

I’ll comment in a while.

Are there possibilities to convert the base from 7.0.2 to 6.0 again without losing patient data, to perform the update step by step again to see if there was any problem in the process and the same thing happens?

I just tried with 4g it seems that it even takes longer