In QNAP TS-269L as a ZurmoCRM Application Server Performance Report, I was depressed with the result running ZurmoCRM on QTS platform which runs on QNAP device.
This time, I got a AS-602T from Asustor running ADM x64. They also provide me beta firmware with Alternative PHP Cache, Memcache, memcached, and PHP 5.5.3 R2 for testing. These should improve performance.
How about the performance with ZurmoCRM with different acceleration? Is there any difference between ADM and Debian? Let’s take a look at it.
Processor, RAM, and Linux Difference
While AS-602T is based on the same processor as QNAP TS-269L an Intel Atom D2701 running at 2.13GHz, QNAP TS-119PII is Marvell 88F6281 at 2.0GHz, and Shuttle X50V2 is Intel Atom D510 at 1.6GHz.
Both D2701 and D510 have 2 cores with 4 threads and 4 times the cache (1MB vs 256KB) compares to 88F6281. D2701 and D510 have 64-bit instruction set while 88F6281 is 32-bit. QNAP TS-269L should be able to run 64-bit operating system even the current QTS is still 32-bit. Both ADM in AS-602T and Debian in TurnKey Linux is x64 which means 64-bit.
root@AS602T:/volume1/.@root # uname -a Linux AS602T 3.7.9 #1 SMP Tue Feb 25 06:37:51 CST 2014 x86_64 GNU/Linux
RAM is expandable to 3GB. There is an empty RAM slot. With more RAM available, you may see improvements on disk sensitive operation and may run more applications without out of memory at the same time.
Test Method
I connect NAS to computer directly. Then upload ZurmoCRM and setup with build-in demo data. Shuttle X50V2 is setup with ISO image from TurnKey Linux: Zurmo. Then use Firefox to list all contacts. There are 28 contact records provided from ZurmoCRM demo data.
To satisfy requirement, I also manually edit Qthhttpd.sh in QTS, and php.ini in Debian and ADM to increase memory_limit from 128M to 256M. Please reference Asustor ADM Configuration and Executable Files, QNAP QTS Configuration and Executable Files, and TurnKey Linux Configuration and Executable Files to find the path.
All unnecessary background process and programs are disabled.
With the right cache system required by Zurmo, it may improve performance.
Alternative PHP Cache helps to execute faster by caching compiled codes and eliminating the overhead of compiling the same code again. It is supported on certain ADM but not supported on QTS or TurnKey Linux.
Memcache and memcached together help to cache database result and lower database loading in LAMP. It is supported on certain ADM but not supported on QTS nor TurnKey Linux.
You may manually installed them with apt-get easily in TurnKey Linux but need to compile yourself in QTS. memcached is available on App Center in QTS.
AS-602T is configured with following disk set.
- Seagate Barracuda Desktop 500GB
According to my MTU test, I keep it to use default 1500.
I measure time to load 1 and 5 contacts in a single login session. The 5 contacts are loaded in different tabs in the same Firefox. Therefore, it use only one thread and won’t begin to load the next until finish. If you are confused or interested in the relationship of LAMP, thread, multi-core processor, hyper-threading, How Multi-Core Processors Accelerate your LAMP Applications provides detail explain in plain English.
Performance
Analyze
The best configuration for Asustor AS-602T is about 30% slower to Shuttle X50V2 with Alternative PHP Cache and Memcache. Although AS-602T has fewer RAM, it never use swap during test.
For the different version of PHP, we may see about 20% improvements when upgrade from 5.3.27 to 5.5.3 R2. Although it doesn’t provide Alternative PHP Cache and Memcache yet, it should improve more when they are available.
As you may see, QNAP TS-119PII is the slowest among them. It is clear that Intel Atom D2701 execute LAMP applications faster than Marvell 88F6281.
Compared to my experience with Salesforce, running ZurmoCRM on NAS is slow.
Final Thoughts
The new firmware begin to support Alternative PHP Cache and Memcache makes ADM a more attractive choice for ZurmoCRM. If they may upgrade to PHP 5.5.3 R2, it would be more attractive. I think the performance is getting more acceptable with the new firmware. It has a bright future to ZurmoCRM.
About memory_limit in php.ini, StackOverflow has an interesting topic: “StackOverflow: Is the more the better for PHP memory_limit? [closed]” while Jeff Starr does a test on Perishable Press: Improve Site Performance by Increasing PHP Memory for WordPress. If you didn’t increase before setup ZurmoCRM, you will fail to install demo data.
If you need to optimize ZurmoCRM on ADM, follow my “Optimize Asustor ADM for ZurmoCRM“. It will be updated when I found more optimization in the future.
Reference
- QNAP TS-269L as a ZurmoCRM Application Server Performance Report
- QNAP: QTS
- QNAP
- ZurmoCRM
- Asustor
- Asustor ADM
- Asustor: AS-602T
- PHP: Alternative PHP Cache
- PHP: PHP Manual: Function Reference: Other Services: Memcache
- memcached
- PHP
- Intel Atom Processor
- Shuttle X50V2 Datasheet
- Intel: Intel Atom Processor D510
- Intel Atom Processor D2700
- QNAP TS-269L
- TurnKey Linux
- Wiki: LAMP (software bundle)
- QNAP TS-119PII
- Marvell: Marvell 88F6281 SoC with Sheeva Technology
- Wiki: Instruction set
- Wiki: Operating system
- Asussor: Memory Installation Guide For ASUSTOR 6 Series NAS
- Debian
- Connect NAS to your Computer Directly
- TurnKey Linux: Zurmo
- Zurmo: Zurmo Cache System Explained
- Asustor ADM Configuration and Executable Files
- QNAP QTS Configuration and Executable Files
- TurnKey Linux Configuration and Executable Files
- QNAP: App Center (QPKG)
- Seagate Barracuda Desktop Datasheet
- Maximum MTU doesn’t mean Best Performance
- Mozilla: Firefox
- Wiki: PHP accelerator
- Wiki: List of PHP accelerators
- PHP: PHP Manual: Appendices: php.ini directives: memory_limit
- PHP: PHP Manual: Appendices: php.ini directivies
- Wiki: Session (computer science)
- Wiki: Thread (computing)
- Wiki: Multi-core processor
- Wiki: Hyper-threading
- How Multi-Core Processors Accelerate your LAMP Applications
- Wiki: List of Intel Atom microprocessors: CE SoCs: Dual-Core CE SoCs
- Intel Newsroom: Intel Launches System-on-Chip Storage Solution Designed for Simple Video Transcoding and Streaming
- Perishable Press: Improve Site Performance by Increasing PHP Memory for WordPress
- StackOverflow: Is the more the better for PHP memory_limit? [closed]
- Salesforce
- Optimize Asustor ADM for ZurmoCRM