Book a Demo

Author Topic: Poor performance 4 users using shared eap file  (Read 22784 times)

ArchBeast

  • EA Novice
  • *
  • Posts: 8
  • Karma: +0/-0
    • View Profile
Poor performance 4 users using shared eap file
« on: August 19, 2016, 08:41:03 pm »
At my client's site ( a very large public organisation) we are using EA v 12. We have 4 concurrent users using a shared .eap file of 58MB. The file is on a server in one building and the users  are in other buildings around the country.
Performance is really poor. If we move the database file to the same PC running the EA application it is blindingly quick, but we cant do that, we have to have a federated approach. I don't want to get into version control and separate offline package development, replication etc.

Our IT people say there is nothing wrong with the network and if it was too slow then other users of other applications in our building would also experience problems.
They tried moving the database file to another server in a different building in another part of the country and it made a marginal (anecdotal evidence) difference to two users but made it worse for the other two.

I have asked out IT for the database to be hosted on Oracle RDBMS (that is the preferred company RDBMS) but that will require some investment decisions and won't happen quickly, however I keep seeing performance issues being reported with EA 12 and Oracle hosting on the forum. The advice seems to be that oracle needs to be fine tuned for EA to work fast but I haven't seen anything about what exactly has to be fine-tuned from Sparx.

PeterHeintz

  • EA Practitioner
  • ***
  • Posts: 1001
  • Karma: +59/-18
    • View Profile
Re: Poor performance 4 users using shared eap file
« Reply #1 on: August 19, 2016, 08:52:42 pm »
Hi,
eap is in fact MS-Access and that gets slow when used by several users.

As long as you are not going over WAN you should use a real SQL server like Oracle or MySQL.

I assume that fine-tuned SQL Servers are only in exceptional cases required.
Maybe switching to Firebird is a short term solution you. (However I have no much experience in using Firebird regarding performance).
Best regards,

Peter Heintz

qwerty

  • EA Guru
  • *****
  • Posts: 13584
  • Karma: +397/-301
  • I'm no guru at all
    • View Profile
Re: Poor performance 4 users using shared eap file
« Reply #2 on: August 19, 2016, 09:23:08 pm »
As Peter said, Mickeysoft Access is basically a single user database which 'can' be used concurrently. It is also not 'optimized' for use over a network but intended for local use. The cheapest you can do is to setup a MySQL, Postgres or the like on a server. If you have some fixed infrastructure you should ask your local DBA. The requirements for any sort of EA repository are very moderate (tell them to reserve 1GB or you repos any you should be fine). There's not much more to do than to build the tables from Sparx' resource site and make some authorization to access the database. You can do backup locally with XML exports.

q.

Uffe

  • EA Practitioner
  • ***
  • Posts: 1859
  • Karma: +133/-14
  • Flutes: 1; Clarinets: 1; Saxes: 5 and counting
    • View Profile
Re: Poor performance 4 users using shared eap file
« Reply #3 on: August 19, 2016, 10:02:03 pm »
Migrating to Firebird won't work. EA only allows Firebird repositories on a local drive.

An Access repository (.eap) should be OK with only four users, though. It might be worth checking that you don't have any model views set up to refresh once a second or something. Shape scripts are also very poorly designed wrt performance, so diagrams with large numbers of elements / connectors with Shape scripts can cause EA to essentially grind to a halt. Another major resource hog is Auditing, so if you're using that, stop.

But once you've eliminated performance sinks like those, the only alternative is to go to a real database. Performance will be far better because you're then using ODBC to connect to the repository rather than SQL over SMB, and the repository is managed by a database server rather than a file server.

If your current repository size is only 58MB you should be fine with an initial size of one or two hundred MB. If you already have an IT infrastructure in place for databases, then that means you've already got licenses, there'll be procedures in place for backups, etc. In database terms, a four-user EA repository is a featherweight so if you sweettalk the DBAs you should be able to slip it onto an existing server.

Finally, migrating from a file-based to a DBMS repository is a simple operation.

HTH,


/Uffe
My theories are always correct, just apply them to the right reality.

Helmut Ortmann

  • EA User
  • **
  • Posts: 970
  • Karma: +42/-1
    • View Profile
Re: Poor performance 4 users using shared eap file
« Reply #4 on: August 21, 2016, 09:28:41 pm »
Hi,

I lost lot of work finding issues regarding *.eap files on a share with a team.


Helmut
Coaching, Training, Workshop (Addins: hoTools, Search&Replace, LineStyle)

Eve

  • EA Administrator
  • EA Guru
  • *****
  • Posts: 8110
  • Karma: +119/-20
    • View Profile
Re: Poor performance 4 users using shared eap file
« Reply #5 on: August 22, 2016, 08:24:12 am »
A network eap file is a very bad option for your situation. EA itself can be a bit chatty with the database, but the access driver makes that pale in comparison. The idea of doing that from different sites around the country makes me cringe.

I recommend seriously looking at using the cloud services. It should result in an instant speed improvement for the remote users. In addition, it would allow you to initially use a firebird repository and then migrate to Oracle if/when you get approval for that.

Just one point on migrating to Oracle, if possible I would recommend using the Oracle 11 OLE client drivers. The ODBC drivers do some horrible things to slow usage down and the version 12 clients appear to have a serious leak that is hit by the cloud service.

Geert Bellekens

  • EA Guru
  • *****
  • Posts: 13523
  • Karma: +574/-33
  • Make EA work for YOU!
    • View Profile
    • Enterprise Architect Consultant and Value Added Reseller
Re: Poor performance 4 users using shared eap file
« Reply #6 on: August 22, 2016, 07:08:41 pm »
You should also consider a terminal solution like citrix or Remote Applications when working in a distributed environment.

That has been a good solution for a lot of my clients, and it decreases the overall maintenance on the clients.

In the short term however I would be inclined to check out a SVN version control solution. For small teams and small repositories that is often a quick and simple solution.

Geert

mrblack12

  • EA User
  • **
  • Posts: 67
  • Karma: +0/-0
    • View Profile
Re: Poor performance 4 users using shared eap file
« Reply #7 on: August 22, 2016, 11:54:09 pm »
Maybe you should consider using replica's....

qwerty

  • EA Guru
  • *****
  • Posts: 13584
  • Karma: +397/-301
  • I'm no guru at all
    • View Profile
Re: Poor performance 4 users using shared eap file
« Reply #8 on: August 23, 2016, 12:14:26 am »
Nooooo, please not. That's the best way to collect a new bunch of problems where nobody can help you.

q.

Geert Bellekens

  • EA Guru
  • *****
  • Posts: 13523
  • Karma: +574/-33
  • Make EA work for YOU!
    • View Profile
    • Enterprise Architect Consultant and Value Added Reseller
Re: Poor performance 4 users using shared eap file
« Reply #9 on: August 23, 2016, 04:27:30 am »
Nooooo, please not. That's the best way to collect a new bunch of problems where nobody can help you.

q.
I agree, don't even think about using replica's if you value the (bit of) hear left on your skull.

Geert

Eve

  • EA Administrator
  • EA Guru
  • *****
  • Posts: 8110
  • Karma: +119/-20
    • View Profile
Re: Poor performance 4 users using shared eap file
« Reply #10 on: August 23, 2016, 08:53:09 am »
You should also consider a terminal solution like citrix or Remote Applications when working in a distributed environment.
As far as I'm concerned citrix fits into the same category as replication.

It's nothing more than a way of avoiding one problem by creating ten more, and the worse thing is that you can't get ANY help from Sparx Systems if anything goes wrong with that environment.

qwerty

  • EA Guru
  • *****
  • Posts: 13584
  • Karma: +397/-301
  • I'm no guru at all
    • View Profile
Re: Poor performance 4 users using shared eap file
« Reply #11 on: August 23, 2016, 09:00:28 am »
I shouldn't lean out too much here, but Citrix is different. The Mickeysoft replication is code inside M$-Access and you should trust it only as far as you can throw it. Citrix is a multi-user on a single machine "emulation". So it's multiple users on the same machine sharing a local EAP. That should work "half ways". In any way I'd setup a minimal real RDBMS when it comes to shared repositories. Or, sharing via SVN if the users are spread over the world with bad network.

q.

Geert Bellekens

  • EA Guru
  • *****
  • Posts: 13523
  • Karma: +574/-33
  • Make EA work for YOU!
    • View Profile
    • Enterprise Architect Consultant and Value Added Reseller
Re: Poor performance 4 users using shared eap file
« Reply #12 on: August 23, 2016, 04:54:42 pm »
You should also consider a terminal solution like citrix or Remote Applications when working in a distributed environment.
As far as I'm concerned citrix fits into the same category as replication.

It's nothing more than a way of avoiding one problem by creating ten more, and the worse thing is that you can't get ANY help from Sparx Systems if anything goes wrong with that environment.

I have multiple clients working on citrix environments without any major issues.
In general they are pretty happy with the setup because usually the citrix server sits right next to the database server in the datacenter, making it even faster then a regular LAN-Database setup.

Same thing for Remote Apps (which is Microsoft terminal services in a new dress)

For distributed environments I always recommend this kind of setup.

Geert

Uffe

  • EA Practitioner
  • ***
  • Posts: 1859
  • Karma: +133/-14
  • Flutes: 1; Clarinets: 1; Saxes: 5 and counting
    • View Profile
Re: Poor performance 4 users using shared eap file
« Reply #13 on: August 23, 2016, 09:02:01 pm »
Personally I always recommend the path of least resistance, which means the first choice is to use the infrastructure that's already in place -- buying a new software package carries a cost, and adding a new thing that the users aren't used to in their daily routine is a drain on productivity.

Most organizations already have dedicated database servers as part of their IT infrastructure, and EA is designed with that setup in mind. To the user nothing changes except how they open the project (and you can create shortcuts for that).

Remoting solutions are less common, but if one is in place and the EA users are already familiar with it that works too. But if you have to set up the infrastructure for remoting just to use EA, I'd say go with a database instead.

/U
My theories are always correct, just apply them to the right reality.

Glassboy

  • EA Practitioner
  • ***
  • Posts: 1367
  • Karma: +112/-75
    • View Profile
Re: Poor performance 4 users using shared eap file
« Reply #14 on: August 24, 2016, 01:24:25 pm »
Personally I always recommend the path of least resistance, which means the first choice is to use the infrastructure that's already in place -- buying a new software package carries a cost, and adding a new thing that the users aren't used to in their daily routine is a drain on productivity.

Many organisations these days expect all apps to be cloud based or 3 tiers (n = 3 right) applications.  When you want to put in a full client (let's not fat shame here) application, it doesn't fit their standard deployment models (What do you mean the end user needs direct access to the database server?).