Jump to content

Farshad Mohajeri

Administrators
  • Posts

    11674
  • Joined

  • Last visited

  • Days Won

    667

Everything posted by Farshad Mohajeri

  1. We are trying to make sure that this will happen! :) Mode-2 (UrlRedirect) adopts a simpler working principle compared with other two modes. Master Server's job is to redirect URL to one of the Slaves and once this happens all traffic goes to that slave server. The tricky part is to make sure that all URLs will point to the master server when a session is expired, terminated or restarted. Another thing is to make sure that a user can not directly start a session on a slave server.
  2. We are still testing. The most tricky part is that all failed, timed out, restarted or naturally terminated sessions should be redirected back to the master server! Direct URL access should be disabled and re-routed to the master server! It is the part that we are still implementing & testing...!
  3. Hello, There can be three recommendations for such situations: 1) Check Pool settings: http://www.unigui.com/doc/online_help/iis_7_0.htm 2) Set your Pool Identity to LOCALSYSTEM http://www.unigui.com/doc/online_help/using-a-different-account-for-.htm 3) Switch to HyperServer
  4. Users should be encouraged to connect to main URL only and not bookmark any sub-URL in the domain.
  5. If the slave server is disabled and user tries connect to it then re-directing to main server will not work! That said, your concerns about load balancing remains valid.
  6. Why do you want to prevent users from doing this?
  7. Each ServerNode will be exposed to the global internet. There will be no difference between a regular uniGUI server and other ServerNodes. You can deploy them as ISAPI dlls, so IIS will add an additional security barrier.
  8. Mode 3 (URL Redirect) is under test. We will publish it in next build.
  9. Hello, Server Farm comes with three different operation modes. Pass Through Direct Url Redirect Mode 1) Pass Through (Implemented) In "Pass Through" mode all requests passes through the master HyperServer. This includes all file requests. Which means your master server can become quite busy when there is a momentary high load. In this mode each slave HyperServer instance communicates with its own Nodes privately. Slaves and related Nodes are isolated from the public access. It is the slowest mode, but the easiest for uniGUI developers to implement, manage and maintain. Mode 2) Direct (Not implemented) In this mode again all traffic is handled by the master HyperServer, but it will directly communicates with all Nodes from other HyperServer instances. This will improve performance, as the traffic are not relayed through the middle HyperServers. Mode 3) Url Redirect (Not implemented) In this mode each new session is redirected to one of the slave HyperServers. It will be done at URL level, so once the session is redirected, the master HyperServer will not handle the related traffic. For each slave HyperServer Node the traffic is handled directly by that HyperServer. This is the fastest operation mode, but this requires you to open all of your salves to the internet and assign them public URLs.
  10. More questions: 1) Do you have a continuous Timer on your app? If yes what is the interval? 2) Do you have a single Database server for all of the sessions?
  11. Hi, Can you also send the Transport tabs (For Master server and one of the slaves)?
  12. Hello, It is the ConnectionLog. Can you also check the main log file?
  13. Hello, What is your uniGUI build? Is it the latest build?
  14. Hello, Can you investigate your project and see where Image1 component is placed?
  15. Please note that sessions and threads are not same things. Each session has a dedicated connection provided that Connection component is placed on MainModule. However, sessions can be served by different threads at different times. When a request is received it can run in any thread and it is not guaranteed that it is the always same thread for a particular session. What uniGUI governs is that a session will not be accessed by multiple threads simultaneously.
  16. If you check the control panel the /server url it will show the correct uptime. You are trying to create the server panel form manually. It doesn't initialize the form correctly. I will include an example showing how to create a custom server statistics page.
  17. program Project1; uses FastMM4, uniWinUtils, Forms, ServerModule in 'ServerModule.pas' {UniServerModule: TUniGUIServerModule}, MainModule in 'MainModule.pas' {UniMainModule: TUniGUIMainModule}, Main in 'Main.pas' {MainForm: TUniForm}, ServiceModule in 'ServiceModule.pas' {UniServiceModule: TUniGUIService}, Unit37 in 'Unit37.pas'; {$R *.res} function GetMemoryUsed: Int64; var st: TMemoryManagerState; sb: TSmallBlockTypeState; begin FastMM4.GetMemoryManagerState(st); result := st.TotalAllocatedMediumBlockSize + st.TotalAllocatedLargeBlockSize; for sb in st.SmallBlockTypeStates do begin result := result + Int64(sb.UseableBlockSize) * sb.AllocatedBlockCount; end; end; begin PGetMemoryUsedProc := GetMemoryUsed; Application.Initialize; TUniServerModule.Create(Application); Application.Run; end. Here is the solution. However, it will only work in next build!
  18. Hello, Is the value correct in server control panel?
  19. New version allows you to choose between 7.4.0 & 7.0.0 from ServerModule.
×
×
  • Create New...