1 2 Previous Next 17 Replies Latest reply on Aug 19, 2016 3:53 AM by Mike_Mitchell

    List view lag

    HashirRaja

      Hi, I would like to say I am very amazed with the capabilities with Filemaker Pro. I am using version 14 at the moment. I am planning out a database that I will be making for a vendor that handles passengers with disabilities for airlines. It is basically a dispatch system. I believe the data will be shared from the airline as xml. I do have several questions about that, but before I can get to that, I have an alarming situation that needs attention.

       

      I have two tables:

      One for passenger info (ID, name, flt#, date, city, phone etc.).

      The other table is for flight info (ID, flt#, date, scheduled arrival /departure, Eta, Ata, gate etc.)

       

      On the main screen (Dashboard [list view]), I will have a list of passenger records. These will range to about 10,000 records a month. The dashboard will be filtered to show only today's date, that way the workers will know who is flying today. So approx. 500 records will be in view daily.

       

      I made a demo and put it on a temporary server hosting website to test it out. I believe it's FMPHost.com or something like that. At the moment, I am at the very beginning stage as I just have 400 records in total. In the dashboard, I only have fields from the current table. No calcs or summary fields. The scrolling is laggy. The goal will be to have maybe one or two related fields in there for flight updates. I tried that and the scrolling got much worse.

       

      My question is, being that Filemaker is an amazing platform, why am I seeing this lag? Regardless of where I am hosting it, I just have 400 records with no calc or summary fields. I understand if I have many records or alot of calcs, but even then, other database programs deal with much more than that and do not lag with scrolling through their list. I hope there is a work around this because I really do like Filemaker.

       

      Thanks!

        • 1. Re: List view lag
          coherentkris

          i would suggest looking at network issues between your workstation and your provider.

          Also make sure the workstation is up to specs for FMP.

          FM list view should be able to handle 4000 records in list view without breaking a sweat

          • 2. Re: List view lag
            HashirRaja

            Thanks for the reply.

             

            I tested this out on my laptop which is windows 10 Intel i7 with 8gb ram. I also tested on my desktop which is better than my laptop.

             

            Can it be that since the fmphost is a shared server, that is why it is slow?

             

            The current database they have runs good on their "company computer". Generally, I know they will not invest to much in getting top level computers. I believe the laptops are i5 or i7 with 6 to 8gb ram.

            • 3. Re: List view lag
              brsamuel

              List views will always be slower than form views.  Sorted list views even slower.  FileMaker Server will send records to the client in batches of 25 (I think), so try to limit the number of visible rows to 25 or less.

               

              FileMaker always transmits the entire record (every field) when any field is displayed.  Therefore you need to do all you can to "narrow" the table by moving unnecessary fields to other related tables.

               

              P.S.  Why does the Passenger Info table have a Flt# & date field?  It seems like these fields should stay in the Flight Info table.

               

              P.P.S.  FileMaker 15 has some improvements that should make things a little faster.

              • 4. Re: List view lag
                HashirRaja

                Hey Brsamuel

                 

                If I have a list filtered upon entering a layout, will Filemaker first load ALL the records then filter? Or will it directly just load the filtered values?

                 

                How can I limit the list to show 25 entries? I do not think that will be sufficient though. The employee needs to see at least 3 hours ahead which will not fit in 25 visible entries.

                 

                The passenger table needs to have Flt# and Date as it is in the PNR record. This tells us which flight the passenger is flying on. Keep in mind, the flight info table is a separate entity. That data will be synced separately. It just gives info on flight numbers. No relation to passengers. The Flt# and Date in passenger table are both related to the Flt# and Date in the flt info table. This way, the flight timings can keep updating for specific passenger records.

                 

                I am still amazed that 400 records with one related field had so much lag. I just created a test file with just two tables. No calculations. I am running on i7 8gb ram. I really do want to create this in Filemaker as it is a full package deal and mobile integration is very seamless.

                • 5. Re: List view lag
                  CarlSchwarz

                  Are you using an FMPHost server that is physically close to you?  This makes a difference.

                  And yes FMPHost will be slower than a dedicated host because it is a shared server and in my experience there is a heavy workload on most of their servers, using a dedicated server is better.

                  Reduce your found set using a scripted find command before displaying the records to the user and then you will only show the information you need.

                  • 6. Re: List view lag
                    HashirRaja

                    Uh, the FMPHost location is not that close. I am situated in NY. Server is in Atlanta. It's the closest I could find for testing purposes. I do however plan to have my company purchase a server of their own which would be physically in the same city.

                     

                    I spoke to a rep from FMPHost. He explained to me the speeds are the same regardless if the server is shared or dedicated. I thought it would be slower due to it being shared. He did say same thing as you, that distance does count a lot.

                     

                    He also told me to run scripts on server also. Can you please help me understand what he meant by that? Also, if i run a script upon entering a layout to do a find, will Filemaker first load ALL the records first then perform the find? Or will it just go straight to the find request? I'm assuming that would be faster.

                     

                    Lastly, within a list view, if a table has 10 fields but I only have 3 on the layout, will the remaining 7 fields be loaded regardless if they are on the layout?

                     

                    I appreciate the help of everyone!

                    • 7. Re: List view lag
                      brsamuel

                      You don't want to filter if you can avoid it.  FileMaker needs to evaluate every record to determine if the record should be included or not - a (relatively) slow process.  A much better method would be to perform a find.

                       

                      When I suggested you limit the list to 25 records, I meant the size of the layout & height of the row, such that there isn't room for more than 25 records.

                       

                      I strongly recommend against using real data, like flight #s and dates in the relationship.

                      • 8. Re: List view lag
                        CarlSchwarz

                        The distance between you and the Atlanta server is not that large so I wouldn't worry about that, crossing country borders is more of a problem.  If anything 'lag' on the last mile of your internet connection would be the problem.  What sort of connection do you have?

                         

                        When you go to the layout you should have a script that looks something like this:

                        Freeze Window (prevents data being shown/downloaded to the client)

                        Go To Layout ...

                        Enter Find Mode

                        Set field....

                        Set field....

                        Perform Find

                         

                        To make the "find" perform blazingly fast make sure you turn indexing on for the fields that you are finding on.

                        • 9. Re: List view lag
                          HashirRaja

                          I am connected through a Wifi internet connection. ~23.00 Mbps download speed.

                           

                          I will set it up that it only shows 25 records in the window. I'm hoping 50 to 60 found records will not cause lag issues...

                           

                          Also, if we have our own server, how many concurrent connections will there be? 90% of the concurrent connections will be through an iPad. Does the FMP solution slow down the more people are logged in?

                           

                          Once again, I really appreciate the help from everyone here! Great community.

                          • 10. Re: List view lag
                            Mike_Mitchell

                            brsamuel wrote:

                             

                            List views will always be slower than form views. Sorted list views even slower. FileMaker Server will send records to the client in batches of 25 (I think), so try to limit the number of visible rows to 25 or less.

                             

                            The 25 record batches apply to Form view. List and Table view load as many records as will fit on the screen, with more loading as the user scrolls to expose them. So it really doesn't matter how many records are on the screen; List view will often have a lag as new records are loaded.

                            • 11. Re: List view lag
                              Mike_Mitchell

                              HashirRaja wrote:

                               

                              He also told me to run scripts on server also. Can you please help me understand what he meant by that?

                               

                              The "run script on server" refers to Perform Script on Server (FileMaker Pro 15 Help). This script step allows you to dump the task off to the server instead of running it on the client. This will help with performance due to record loading (as the server doesn't have to contend with the network).

                               

                              Also, if i run a script upon entering a layout to do a find, will Filemaker first load ALL the records first then perform the find?

                               

                              It depends on the layout. If it's a Form view, it will load the first 25 records, then enter Find mode. If it's List or Table view, it will load as many records as will fit on the screen, then enter Find mode.

                               

                              You can speed operations like this up by entering Find mode before moving to the target layout.

                               

                              Lastly, within a list view, if a table has 10 fields but I only have 3 on the layout, will the remaining 7 fields be loaded regardless if they are on the layout?

                               

                              Yes. All fields associated with the record are downloaded at the same time (with a few exceptions). However, 10 fields is not a lot. I suspect something else is going on. Do you have Conditional Formatting or Hide calculations? Are you sorting the list? What do these 10 fields consist of? I use FMPHost.com for several things, and their service is generally very peppy.

                              • 12. Re: List view lag
                                Mike_Mitchell

                                HashirRaja wrote:

                                 

                                I am connected through a Wifi internet connection. ~23.00 Mbps download speed.

                                 

                                That's a little on the slow side. Any possibility of getting faster network?

                                 

                                Note that latency (the time it takes for a packet to travel between the server and client and back again) is more important than strict bandwidth, however. That's why the distance is significant.

                                 

                                Also, if we have our own server, how many concurrent connections will there be?

                                 

                                If you have your own server, you will have as many concurrent connections as people who log in. If you purchase the concurrent connection server model, then it will have as many connections available as you purchase (in blocks of 5).

                                 

                                Does the FMP solution slow down the more people are logged in?

                                 

                                Not generally, unless the server is underpowered. The main lags come from network and the processing power of the client. In your case, since you have mostly iPads, you may see more lag than you would on a desktop machine simply because the mobile devices don't have as much horsepower.

                                • 13. Re: List view lag
                                  Mike_Mitchell

                                  HashirRaja wrote:

                                   

                                  The passenger table needs to have Flt# and Date as it is in the PNR record. This tells us which flight the passenger is flying on. Keep in mind, the flight info table is a separate entity. That data will be synced separately. It just gives info on flight numbers. No relation to passengers. The Flt# and Date in passenger table are both related to the Flt# and Date in the flt info table. This way, the flight timings can keep updating for specific passenger records.

                                   

                                  I suggest you revisit your data model. You probably need a separate table of records that connect passengers to flight numbers (call it Bookings or something). Then each record in Bookings consists of a passenger and flight - the unique combination of each. Reason: If you just put the flight # on the passenger record, then you won't have any history of flights the person has taken.

                                   

                                  I would also suggest you not use the flight # and date as key fields. Use unique identifiers for flight and passenger (UUID or serial number). A good general rule to follow is never to use anything a user can edit as a key field. Otherwise, user error can break your system's relationships.

                                  1 of 1 people found this helpful
                                  • 14. Re: List view lag
                                    CarlSchwarz

                                    23Mbps is a phenomenal speed where I am .  I'm on 13Mbps on a good day and I'm envied.  I get good remote connection speeds to FileMaker databases so 23 is fine.

                                    Lag to the server is the more important factor here, your layout itself will cache the first time the file is loaded and won't need to download again.  From then on it is only record data that is loading so 23Mbps should be more than fast enough to load the records in a decent time - with the caveat of how many people are on your internet connection, etc.

                                     

                                    Perhaps you could go to speedtest.net and see what your 'ping' score is, if it is around 20ms then that is okay, if it is slower like 300 or greater then the internet connection is a problem.

                                    1 2 Previous Next