-
Notifications
You must be signed in to change notification settings - Fork 508
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Slow server #4069
Comments
Obviously there are two approaches - reducing the number of conversations & threads in DB and increasing server performance. |
Obviously, that would be the simplest solution. But are there any scalable solutions that have been tested? Most of the data will be "old" history and not accessed on a daily basis. However, this slows down the entire application, and deleting history is not always an ideal solution. Has anyone tried partitioning the threads table based on the created_at date? It seems to be a potential fix, especially considering the queries that are taking the longest. I am considering partitioning the data quarterly or even monthly to reduce the amount of data each query has to process. Has anyone experimented with this approach? This might significantly impact resource usage for larger databases. Would it make sense to implement this for threads based on the created_at date, and possibly for conversations as well? Any suggestions or known limitations would be greatly appreciated. |
Yes, this can also be done. You can simply create a |
@fsprott We had a similar issue, here is our approach Unless you are keeping the emails / conversations for a specific purpose they are probably not needed, as they should be in the original email box where they are fetched from. So you can use this as the backup. Hope this helps |
@raramuridesign Thank you for the tips! We will try to include something simiar as well. We also addes some indexes. That removed all the slow experience, and as well reports now load also during peak times and are on average 5-10 times faster. I am guessing the index on created_at on threads made the biggest difference. I belive these was the indexes we added: conversations notifications threads |
@fsprott Thanks for sharing. I am sure that @freescout-helpdesk will review the indexes and add to the code if it works well. Our approach was Hope this helps. |
PHP version: 8.1.29
FreeScout version: 1.8.141
Database: MySQL 8.0.31
Are you using CloudFlare: Yes / No
Are you using non-official modules: No
During some years of using the app we now currently have 3 000 000 Threads and 450 000 Converstations, and having issues with slow APP.
Database is running on GCP with:
vCPUs: 8
Memory: 8 GB
SSD storage: 100 GB
WEB server on GCP standard machine.
We no longer able to use the offical report module due to long load times, and several other general pages and features takes sevel seconds to load (5-15 seconds). Any suggestions on improvements?
We already use faster search module.
Let me know what other information you need to be able to support.
The text was updated successfully, but these errors were encountered: