Experiences with Appserver.io

Experiences with Appserver.io

Stefan Galinski 13. May 2014 Expert Topics

0 Comments // Reading Time: 5 min.

Recently we have been working with the application server "appserver.io" of TechDivision GmbH as part of our continuing education program. At this point we would like to bring you closer to our - still admittedly quite superficial - findings.

The installation of the appserver took place on a Ubuntu 12.04 and proved to be quite easy, because the Debian repository of the project could be used. The Appserver is also available for Mac and Windows. After entering the sources and installing the app server, all files of the server were found directly under "/opt/appserver". By default, the appserver runs on port 9080 and is already started after the installation. An included admin interface will later make the operation and overview easier, but is currently still very rudimentary. It can be reached under "http://127.0.0.1:9080/admin" and is protected with the access data "appserver/appserver.i0".

After the installation we tried to make our website run under the new system and we managed to do this successfully as you can see at the URL www.sgalinski.de . Except the sending of the contact form the page runs very stable. The problem is caused by a missing PHP extension, which is not included in the included installation. Of course, there is still a lack of long-term experience with more frequented pages in order to be able to assess the general stability. However, even under high load there were no interruptions in the availability of the site during benchmarking, which is why a productive use would probably be possible. However, we have currently decided against it, but will keep an eye on the upcoming versions of the server.

But how could we make our Neos website run under the app server? In principle we only had to copy the website into the webapps folder of the server and create the directory "WEB-INF" in the "Web" area of Neos. No further files within the directory are necessary. Furthermore we had to create a vHost entry in the "etc/appserver.xml". For this we simply used the vHost example for Neos that was already included. Afterwards we had to delete the Neos cache and the _Resources in the web area and the website was reachable by "service appserver restart" after a heedful restart of the appserver.

<virtualHost name="www.sgalinski.de">
    <params>
        <param name="admin" type="string">stefan@sgalinski.de</param>
        <param name="documentRoot" type="string">webapps/sgalinskide/Web</param>
    </params>
    <rewrites>
        <rewrite condition="^/(_Resources/Packages/|robots\.txt|favicon\.ico){OR}-d{OR}-f{OR}-l" target="" flag="L" />
        <rewrite condition="^/(_Resources/Persistent/[a-z0-9]+/(.+/)?[a-f0-9]{40})/.+(\..+)" target="div" flag="L" />
        <rewrite condition="^/(_Resources/Persistent/.{40})/.+(\..+)" target="div" flag="L" />
        <rewrite condition="^/_Resources/.*" target="" flag="L" />
        <rewrite condition="(.*)" target="index.php" flag="L" />
    </rewrites>
    <environmentVariables>
        <environmentVariable condition="" definition="FLOW_REWRITEURLS=1" />
        <environmentVariable condition="" definition="FLOW_CONTEXT=Production" />
        <environmentVariable condition="Basic ([a-zA-Z0-9\+/=]+)@$Authorization" definition="REMOTE_AUTHORIZATION=div" />
    </environmentVariables>
    <locations>
        <location condition="~*\.php(\/|\?|$)">
            <fileHandlers>
                <fileHandler name="fastcgi" extension=".php" />
            </fileHandlers>
        </location>
    </locations>
</virtualHost>

From a performance point of view, our live installation is very similar to the app server version, which has proven to be extremely stable even under very high load. Apache is unfortunately much more likely to block us here and may even freeze under certain circumstances, which is why we have refrained from a too daring benchmark for Apache. For the benchmarks we used the tool "siege" with the parameters "-d2 -c20 -t 60s URL". Neos ran in both benchmarks in the production context. In Apache we use mod_php, which brings a higher performance than the FastCGI variant. The following results have been obtained:

## Live-Seite - Production Context (mod_php)
Transactions:                    925 hits
Availability:                 100.00 %
Elapsed time:                  59.05 secs
Data transferred:               4.00 MB
Response time:                  0.29 secs
Transaction rate:              15.66 trans/sec
Throughput:                     0.07 MB/sec
Concurrency:                    4.55
Successful transactions:         925
Failed transactions:               0
Longest transaction:            0.74
Shortest transaction:           0.18
## Testseite Appserver.io - Production Context
Transactions:                    921 hits
Availability:                 100.00 %
Elapsed time:                  59.56 secs
Data transferred:              13.79 MB
Response time:                  0.28 secs
Transaction rate:              15.46 trans/sec
Throughput:                     0.23 MB/sec
Concurrency:                    4.27
Successful transactions:         921
Failed transactions:               0
Longest transaction:            0.77
Shortest transaction:           0.21

The much higher amount of data transferred was due to the lack of deflate compression on the app server. One module is already active, but unfortunately the compression does not work yet due to a PHP Bugs. Probably the server would have been slightly faster than Apache without this circumstance. 

In general, we have gained a very good impression of the app server and are already very excited about the upcoming features. Especially in the development of new applications, the use of the app server can already bring enormous advantages, since besides the web server many other features such as a persistence container and a message queue are integrated. By taking advantage of these possibilities, it should be possible to realize considerably more powerful applications on the basis of this server. However, we have not yet dealt with these possibilities. Further news entries may follow at a later date.

Contact us!

We are a digital agency headquartered in Munich/Unterföhring, which works remotely worldwide. We are specialized in the development of digital products. Our core topics are websites and portals with TYPO3, eCommerce with Shopware and Android and iOS-Apps. In addition, we deal with many other topics in the field of web development. Feel free to contact us with your concerns!


0 Comments

No comments.
    Drop files here