V5.0.0 too slow on Windows

sovannapp wrote on Tuesday, March 07, 2017:

openemr 5.0.0 is very slow

matthewvita wrote on Wednesday, March 08, 2017:

Hi Sovann,

That’s no fun! It should be super quick (such as the instance in http://open-emr.org/wiki/index.php/OpenEMR_Demo)

Here are some questions for you:

  1. Can you describe what is slow about your install?
  2. Did you upgrade from the v4 release?
  3. Do you have any custom code in your install?
  4. Can you provide some information about your server and your network?

Thanks,
Matthew Vita

guessing sovannapp was referring to a windows install of 5.0.0, seeing the same slow performance on a 32 bit vista install with 4 g ram and 2.66 ghz processor, i installed the integrated package and also tried individual xampp install and openemr install, no change

but 4.2.2 runs fine

@brady.miller has reached out to @arnabnaha , windows tester extraordinaire

quick fix, go to xampp control panel click on mysql config and edit my.ini
find these settings or add this to the file

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

then restart mysql

1 Like

I have the recent dev tip installed on windows. I am sorry to say, that openemr takes a lot of time to load patient data and also in jumping from one screen to another. Loading the encounters are also taking a huge time. Coming back to the patient demographics/patient summary page is also taking huge amount of time.

If I try it on firefox, the speed improves a bit but in chrome the speed is a serious issue. Havent tried on Microsoft Edge/ IE

  1. Time to load the initial calendar screen is the highest
  2. Loading of Patient summary is next time consuming stuff (approx - 55sec to 1 minutre)
  3. Loading of the patient list with only 8 patients too around 25 seconds

These are my initial views. I was noticing things slowing up for quite a few months, but currently its pretty slow.

Hi @arnabnaha ,

Thanks for reporting the testing. Which Microsoft OS are you using?

Definitely looks like the INNODB settings are playing a part.

Are you able to test the 5.0.0 release code also? Just trying to pinpoint where the slowness worked it’s way in and where to direct effort for educating OpenEMR users to optimize the speed.

thanks,
OpenEMR

@brady.miller

Hi

I am on Windows 10. Xampp 5.6.20
I tested the 5.0.1 development version which is the current dev tip. As you know I use the dev tip only in my production so I dont have the stable release 5.0.0 installed currently. I will install it for this and let you know how it performs on windows within next 48 hours (on or by 27th March)

Thanks
Arnab

1 Like

hi @brady.miller, are you thinking that there’s something else in addition to the my.ini settings change noted above after testing and more fully described (probably overly) on issues in github ? thanks

Hi @stephenwaite , in 5.0.1-dev, there’a also been a lot of work with composer/autoloading so just wonder if that’s also a factor in the development codebase.

Will be nice to get some really specific recs on INNODB since guessing it’s just a couple settings that are really slowing things down (such as is here: https://itfirstaid.ca/server-optimization/ ; of course 1GB is a bit crazy to set but good to have it as focused as possible). Once this is settled, then will make sense to make a Optimize Speed wiki page which is linked to all the installation manuals describing the recommended INNODB settings in addition to anything else that will speed up OpenEMR (akin to the securing section, MU2 section, etc.).

Here’s the link to nice explanation by @stephenwaite on github regarding innodb settings:

Also, some good information on the innodb_buffer_pool_size (is set to 128MB by default in mysql, if not set) here:
https://dev.mysql.com/doc/refman/5.7/en/innodb-parameters.html#sysvar_innodb_buffer_pool_size

A good explanation of several settings to optimize innodb:

-brady
OpenEMR

Thanks for the links, https://itfirstaid.ca/server-optimization/ recommends using linux and deeming this post to be a windows slowness subject, maybe i’ll change the title…

the mysql refman states that 128MB is the default but when leave that option out in the my.ini i see 8MB in phpmyadmin->information_shema->innodb_pool_stats so maybe XAMPP->MYSQL (which is mariadb actually) is using some other setting which i have yet to find

the last link is the most informative and worth a read

it’s probably not true that anyone is running a system like the one that the my.ini shipped in the bundled version

“This is for a system with little memory (<= 64M) where MySQL is only used from time to time and it’s important that the mysqld daemon doesn’t use much resources”

hi,
The defaulting to 8MB is interesting and is crazy low; even more interesting that the setting appears to be buried somewhere(as an aside mariadb also defaults to 128mb so not a mariadb issue). After we get the settings hammered out, we can then place them on the wiki (and refer from the install manuals) and will use them when release the next xampp package (although this will likely be using a more modern version such as 7.0 which will likely not have the 8MB default or at least one would hope it wouldn’t).
-brady

removed, my.ini, ran sql query on mysql database and it shows the defaults, not sure what we actually need in a my.ini that would be pertinent to openemr

Do you mean that after removing the my.ini file, that the innodb_buffer_pool_size defaults to 128M (or still 8M)?

Hi.
I just realized that it would also be easy to make an updated xampp-openemr package once we have suggested mods for the the my.ini file(since is by far the most popular download, it makes a lot of sense). All it would take is unzip, modify the my.ini file, zip back up (and add a -2 to the end of the filename portion of the new zip file).
-brady

128M, thanks, might have been looking in the wrong place and the wrong setting. thinking that they are all under the mysql database and plan to investigate a little more

Just checked out that in openemr if we keep the passive reminders close, the things are a bit faster. The passive reminders take a lot of time to load and process. Cant it be made a bit faster?

After changing the my.ini file as suggested in a previous post, the openemr is definitely faster than before. Another observation is, openemr is faster in firefox than in chrome

To confirm, will it make sense to release a new openemr5/xampp package that simply has the my.ini file removed?
-brady

my vote is yes

Hi Brady,
Do we need to remove my.ini file or we need to modify it as given above.
Modification made my openemr in windows work great

Regards
Arnab