eelias Posted January 13, 2014 Posted January 13, 2014 Hi there, I am doing a study on a project that have 2 parts, one that measure access to websites by links and simples form pages, and the front-end that is complex system. The first part could have 20,000 simultaneos access. The front-end 100´s only. I am not concerned with the front-end that I see uniGui can handle easily. However I would like to hear from the experienced programmers on the forum, if the uniGUi could handle traffic high as 20,000 simultaneos access, considering simple form, like a regular registration form with no more than 20 fields like address, zip etc. And post all that in a SQL server and done. Something simple like that could be done in any language, however in delphi it could be easier for me, since is my native language. 1) which should be the server for this? 2) which are the model to be used: ISAPI server? Standalone server? which is safe? it must be rock solid. even if some users get in trouble the vast majority needs to work, but I could not expend zillions in servers. Thank you Eduardo Quote
eduardo.junqueira Posted January 13, 2014 Posted January 13, 2014 DataSnap para servidor. Unigui para client. Ambos em ISAPI gerenciados pelo IIS. Quote
eelias Posted January 13, 2014 Author Posted January 13, 2014 DataSnap para servidor. Unigui para client. Ambos em ISAPI gerenciados pelo IIS. Ola Eduardo, Obrigado pela sua opiniao, Porem eu gostaria de saber de casos reais em numeros de acesso. Voce tem alguma aplicacao com alta taxa de concorrencia? Tendo o uniGui como o gerador das paginas? Eu notei que dependendo como de se faz a apliacacao o UniGui usa muita memoria no servidor. Estou tendo minhas primeiras experiencias com ele e tive sucesso ate entao. Porem é glutao de memoria e 20 mil sessoes abertas eh bastante coisa! Eu tenho certeza que irei usar ele para o sistema de front-end, onde tera no maximo 100 concorrentes. Porem na parte do provedor para os client estou muito receoso de usa-lo! Eduardo Quote
rencarnacion Posted January 13, 2014 Posted January 13, 2014 Why don't you continue answering in English ? As you know this is a forum and everybody need to shared all you opinions, so please in English 1 Quote
eelias Posted January 13, 2014 Author Posted January 13, 2014 Why don't you continue answering in English ? As you know this is a forum and everybody need to shared all you opinions, so please in English Hi Ronny, Sorry about that. I share here my comments translated: "Thank you for your post But I wanted to know real cases in number of accesses. Do you have any application with high demand of concurrency? With uniGUI as the page generator? I have noteded that depending on how the application is made, Unigui use a lot of memory from the server. I am having my firsts experiencies with success until now. However it eats a lot of memory and 20 thousand open sessions is a lot! I am certaing to use it for the front-end system, where there is at max 100 concurrent users But in the part of providing pages for the clentes I am very afraid of use it." Eduardo Quote
Administrators Farshad Mohajeri Posted January 13, 2014 Administrators Posted January 13, 2014 Hi there, I am doing a study on a project that have 2 parts, one that measure access to websites by links and simples form pages, and the front-end that is complex system. The first part could have 20,000 simultaneos access. The front-end 100´s only. I am not concerned with the front-end that I see uniGui can handle easily. However I would like to hear from the experienced programmers on the forum, if the uniGUi could handle traffic high as 20,000 simultaneos access, considering simple form, like a regular registration form with no more than 20 fields like address, zip etc. And post all that in a SQL server and done. Something simple like that could be done in any language, however in delphi it could be easier for me, since is my native language. 1) which should be the server for this? 2) which are the model to be used: ISAPI server? Standalone server? which is safe? it must be rock solid. even if some users get in trouble the vast majority needs to work, but I could not expend zillions in servers. Thank you Eduardo You need to calculate how much resources a single session may consume. uniGUI can handle 20.000 sessions as long as total memory needed won't exceed system upper limit. In a 64-bit system it can be handled using physical memory + virtual memory. In theory there is no limit to number of sessions as long as you won't overrun system resources. Quote
eelias Posted January 13, 2014 Author Posted January 13, 2014 You need to calculate how much resources a single session may consume. uniGUI can handle 20.000 sessions as long as total memory needed won't exceed system upper limit. In a 64-bit system it can be handled using physical memory + virtual memory. In theory there is no limit to number of sessions as long as you won't overrun system resources. Farshad, My concern is that for each new session there is a overhead. A thread when created allocate memory, create objects, and this is the framework part, the . When there is so many simultaneos calls the cycles to create each new session, for the simpliest possible form with few fields, will count. So in this case where is the experience that you have on that? Do you know any case with that much accesses with uniGUI? or close? Thank you! Eduardo Quote
Administrators Farshad Mohajeri Posted January 13, 2014 Administrators Posted January 13, 2014 Well, simultaneous requests and simultaneous sessions are different things. You may have thousands of simultaneous sessions but only few tens of simultaneous requests. I've stress tested framework with more than 10.000 sessions and 1000 simultaneous requests. As I said memory usage here is our first concern. Quote
eduardo.junqueira Posted January 13, 2014 Posted January 13, 2014 eelias, não entendi direito, o que fala como provedor seguinte, para 20.000 sessoes simultanes datasnap de preferencia com XE4 update1 teve algumas correçoes em ISAPI sendo que da forma que vc montar servidor datasnap ele muito parrudo, aguenta bem, na minha opniao tem experiencia com Java, e ele atualmente é bem competitivo isso muito falado embarderoconfere2013, agora para cliente WEB Unigui atende normalmente, ainda tem muitos bugs, mais apesar dos bugs da para fazer qualquer coisa com ele, o que nao tem é so montar javascript e adaptar qualquer coisa pega meu skype junqueiraeduardo abraço. Minha aplicação é datasnap + Unigui + Android + Ios pagina da empresa é www.mobview.com.br Abraço. Quote
eelias Posted January 14, 2014 Author Posted January 14, 2014 Well, simultaneous requests and simultaneous sessions are different things. You may have thousands of simultaneous sessions but only few tens of simultaneous requests. I've stress tested framework with more than 10.000 sessions and 1000 simultaneous requests. As I said memory usage here is our first concern. Farshad, Is it possible to share with us how you made this test? I have no doubt about it, however to put this in a real case I would like to simulate the same cenario you made and then try to push higher and see what we get. If you used a stress tool could you tell which one, or if you made one do you mind in share it with us? I really need to test it before give a formal proposal to the customer. Right now I see there is a need of a lot of memory, but I have no idea of whatever is the parameters, even for the cenario you tested. If you can share the overall client and server configuration would be great. Thank you ! Eduardo Quote
eelias Posted January 14, 2014 Author Posted January 14, 2014 eelias, não entendi direito, o que fala como provedor seguinte, para 20.000 sessoes simultanes datasnap de preferencia com XE4 update1 teve algumas correçoes em ISAPI sendo que da forma que vc montar servidor datasnap ele muito parrudo, aguenta bem, na minha opniao tem experiencia com Java, e ele atualmente é bem competitivo isso muito falado embarderoconfere2013, agora para cliente WEB Unigui atende normalmente, ainda tem muitos bugs, mais apesar dos bugs da para fazer qualquer coisa com ele, o que nao tem é so montar javascript e adaptar qualquer coisa pega meu skype junqueiraeduardo abraço. Minha aplicação é datasnap + Unigui + Android + Ios pagina da empresa é www.mobview.com.br Abraço. I will contact you directly! Thank you! Quote
chefdackel Posted January 14, 2014 Posted January 14, 2014 Is it possible to share with us how you made this test? I have no doubt about it, however to put this in a real case I would like to simulate the same cenario you made and then try to push higher and see what we get. If you used a stress tool could you tell which one, or if you made one do you mind in share it with us? the classic stress tools do something like stressing a static html page. So that you put the URL in the tool, and then simulate more and more users. Its ok for PHP programmers. For ExtJS its a different thing. If you do it right, you use an automation tool which simulates user input and maybe also can handle some local database stuff to simulate some random data input. There are not so many automation tools which handle ExtJS applications also with uploading, downloading, PDF creating and downloading (in a second tab?), handling popup windows and all the stuff real users can do with your application. One may be Sahi (http://sahi.co.in/), I am not sure if the OS version is offered any more. With the pro version it seems you can stress your application from many clients in parallel. I do not use Sahi, I am looking for some weeks now to get a consultant which knows to build the scripts for testing some applications, but its not so easy to get some because Sahi is not so common in the automation test business like other automation tools. Best Regards Peter Quote
eelias Posted January 15, 2014 Author Posted January 15, 2014 the classic stress tools do something like stressing a static html page. So that you put the URL in the tool, and then simulate more and more users. Its ok for PHP programmers. For ExtJS its a different thing. If you do it right, you use an automation tool which simulates user input and maybe also can handle some local database stuff to simulate some random data input. There are not so many automation tools which handle ExtJS applications also with uploading, downloading, PDF creating and downloading (in a second tab?), handling popup windows and all the stuff real users can do with your application. One may be Sahi (http://sahi.co.in/), I am not sure if the OS version is offered any more. With the pro version it seems you can stress your application from many clients in parallel. I do not use Sahi, I am looking for some weeks now to get a consultant which knows to build the scripts for testing some applications, but its not so easy to get some because Sahi is not so common in the automation test business like other automation tools. Best Regards Peter Peter, Nice to hear from you. I took a look on some stress applications. I wanted to know what Farshad used on the uniGui case. In fact there are different things like you said. On thing is to test server load, that is mainly connected to the fact of creation of the sessions and the first sending of a page. Other thing is to stress test every situation on the software, simulating user usage. This last option is very complicated to be implemented, I had experience on this on the past on windows applications and is a huge problem. Most of the time there is a need to have a programmer full time only writing scripts and updating old ones to keep the testing tool working. Too much for me right now. But doing unit testing on the software I can cover most of the problems. That is fine. The problem is the server load test. It is easy to say that if the server has the resources it will handle. In fact that is not true. For example, Apache server can handle 6,000 simultaneos connections in the same server. If you double the server capacity it does not double the number of connections. Actually when you reach 10,000 connection you get stuck. Linux keep so much time trying to find a thread to listen to the new connection that it start loosing new connections. And even if you get a server 4x faster and with more resorces it simple does not happen because there is OS limitations! (number of file handles for example) I know uniGUI is young compared to other technologies and it will take time until it can get first grade tasks for it. Most of the time it will be used for extranets and thing like that where the server load if way much low. I am considering use the uniGUI for back-end, where the software is complex and delphi will work great and propably use http.sys, that is windows driver mode http server. It is a full featured http server that can manage huge loads of traffic and connections and it is part of the windows server kernel. When a new connection arrives it does look for a working thread, but while doing it, it does not lost new connections, because it is part of the kernel. So even if the working threads are slowing attending for a momment it will not lost the incoming connection. If unigui was wrote using this (yes it is possible) instead of indy I could tell you it can handle such number of connections. Indy works but it is a old technology. Not optmized in many ways. Eventually I am wrong considering uniGUI for such scenario, since there is no need for uniGUI satisfy everything. It is good for extranets and some kind of website services. But not for this case. I was wondering to hear what the community has experienced. Thanks Eduardo Quote
chefdackel Posted January 28, 2014 Posted January 28, 2014 I was wondering to hear what the community has experienced. obviously nothing . You are not the first to ask for examples of a real world application under heavy traffic built with UniGUI. And I doubt that you will find much responses here as long as UniGUI is in beta state. Quote
eelias Posted January 28, 2014 Author Posted January 28, 2014 chefdackel, Well, I always had the hope to hear something. I understand that is hard to put a beta product, closed source from small company in an big project. It will take a long time until it get some space under the sun. However it seems to be more people with UniGUI than Intraweb. The "official" solution that could be used for such projects. Intraweb is just terrible and made many people go to aspx and abandon Delphi at all. I am interested on UniGUI because I have a lot of source code done on Delphi. Otherwise Delphis getting each time less interesting commercialy speaking. It will all depend on the final price of UniGUI, source availability (I dont want to deal with the source, but 99% of the projects that I do, the companies ask for the source code for security reason and that does not permit using UniGUI. They never touch the source code, I believe they even do not try to compile, but it is part of the deal) The price is other factor, a product close to 1,000USD without source? For example all Elevate products (DBISAM, etc) are below this and the source is part of it). So I am hoping that the product get released urgent. There is no need to more and more features with a reasonable price, eventually with or without source code. talked to much Eduardo Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.