Recently I have spent some time using developer to connect to a repository server located in my same local subnet (my LAN). Both the repository and the database (containing the solution data I have been developing) exist on the same server, local. So the repository and the data are on the same box, but developer is on a seperate workstation.
I wanted to see how performance would be over the WAN vs over the LAN, so I moved the repository over to one server (located at a data center) and the database containing solution data over to another server (located at a different data center). So the repository is connected to by developer over the WAN, and the repository accesses the solution data (as does developer) over the WAN. Everything is WAN now.
The performace hit is ghastly! Why? What is the preferred setup? Where is the performace taking its biggest hit? Do the repository and the data need to be on the same server?
BTW, this is not a bandwidth issue. The off-site facilities are OC12 and local is a t-1+.
Just trying to figure out the best way to do things…suggestions? Advice?
In this case there is no server and no “client” (although as I understand it developer runs client code when not in design mode). I am simply launching developer and adding a repository server (WAN) and another DB (WAN) for a particular solution.
I previously had the repository and the other DB on the LAN and had really good results as far as speed is concerned - and to calrify… by speed I mean the general responsiveness of the app + record fetching etc.
That still leaves the other questions about platform, java version, database.
Reading through your post again I noticed you attached the repository on another machine then the developer? Why, just to test performance? I tend to think it is wise to run the application server on the same machine as the repository. The rest doesn’t matter. How does such configuration influence your speed issues?
And, talking about performance. Can you give some figures?
Platform for the Server running the repository and DB containing solution data is Free BSD 4.9, and the platform running developer is Apple Mac OS X 10.4.2 w/ Java 5. Keep in mind though that this is no different than what was being used on the LAN. DB’s are MySQL 4.1.1. Servoy is using Connector/J version 3.0.
Regarding your question about why I would run the repository on one server, the db containing solution data on another and developer on my local computer - why not? The underlying technologies should have no problem performing over the WAN. But this is what I am trying to figure out.
Regarding your comment about thinking it is wise to run application server and the repository on the same server…I am not running server at all, but that would make sense I guess. Then again, why wouldn’t you be able to run it on a different server?
I would think that I would be able to use Servoy developer/client over a modem if I wanted to??
I guess I am looking for a BEST PRACTICES DOC or the similar. Is there one?
What I am trying to figure out is whether or not Developer is a LAN-only product. As I understand it, I should in theory be able to have my repository/data outside of my LAN and still be able to develop, using the developer tool, without a huge hit in performance. But that does not appear to be the case.
Anyone from Servoy want to provide an answer to this question?
Is Servoy developer a LAN-only tool?
Is developer not capable of performing as quickly as client over the WAN?
Servoy Client is much more WAN deployable than developer as it was designed so. Having said that: if you have ADSL working over WAN is definetely doable. In general it’s better to develop on LAN however: an internet connection simply isn’t as stable and fast as a LAN. Note that Servoy allows you to develop locally and upload solutions to a remote server precisely to give you the best of both worlds.
Servoy Client is much more WAN deployable than developer as it was designed so
Thanks jaleman, that is the answer I was looking for. I am trying to figure out the best way to do things. I did think though that developer, when not in design mode, was running the client codebase? Is server itself doing something that would optimize client for WAN use?
BTW, I did notice that Servoy can read and write to the repostiry in near-LAN speeds…it’s the data that seems to slow things down - and that makes sense.
You know, a best practices doc would be of great help to newbies?[/quote]
it could be in the form of a FAQ, or an updated version of “servoy for filemaker developers”
probably most of the Q&A is here, it just needs to be gathered up
offsite developer connection to a remote repository, and remote data sources
developing local, then importing to server, managing revisions,repositories & datamodel
editing “live”, the pitfalls
separate installs for server and developer, a good practice?
coordinating mulitple developers
solution flush vs server restart, and the datamodel
which ports to open on a firewall, is this “safe”?
controlling which smart client components get downloaded, network tuning
client/server hardware potential bottlenecks, memory, cpu, hard drive
etc.
Double check all your settings.
Sometimes I connect to remote (read WAN) repositories and data servers and it’s slower than working local but perfectly doable. It’s only a bit slow when switching from design mode to browse mode.
Anyway keep in mind that all the data that your JDBC driver moves around is sent in CLEAR; that’s ok for testing purposes or emergencies but I wouldn’t do it on a regular basis on a production server.
I use SSH tunnel for this purpose and I repeat: it’s usable.
I have a client who has the Servoy application server on one server and the repository and database on another (same LAN). They have 10 or so users running smart client over a VPN at another site, running a very high usage solution 7 hours a day with no problems.
I also sometimes access the database server remotely via ADSL with minimal impact.
Excellent. I’ve posted the questions that were asked in this thread there already. I’ll try to find some spare minutes this week to start answering them! Anyone who wants to contribute meanwhile: feel free!
[edit]
The above was a reply to a post that has since been removed about a new Servoy wiki…