I am currently porting ZurmoCRM to QTS platform which runs on QNAP device. As mentioned in Performance Comparison on Retrieving Contacts from SugarCRM with QNAP TS-112, TS-212P, and TS-119PII, Marvell-based NAS didn’t perform well as an LAMP application server.
In the test, I saw Shuttle X50V2 which is an Intel Atom Processor D510-based PC provides an acceptable performance. Therefore, I invest an Intel Atom D2701-based QNAP TS-269L to test.
How about the performance? Is there any difference between QTS and Debian? Does it provide better results compared to them? Let’s take a look at it.
Processor and RAM Difference
While QNAP TS-119PII is based on Marvell 88F6281 at 2.0GHz, QNAP TS-269L has an Intel Atom D2701 running slightly higher at 2.13GHz.
Intel tom D2701 has 2 core with 4 threads and 4 times the cache (1MB vs 256KB) compares to Marvell 88F6281. Each instruction set is 64-bit compared to 32-bit on. In other words, it should be able to run 64-bit operating system even the current QTS for QNAP TS-269L is still 32-bit.
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, install SugarCRM from App Center, setup with build-in demo data, and use Firefox to list all contacts. There are 200 contact records provided from SugarCRM demo data.
To test with different memory configuration, I also manually edit Qthhttpd.sh in QTS and php.ini in Debian to increase memory_limit from 128M to 256M. Please reference QNAP QTS Configuration and Executable Files and TurnKey Linux Configuration and Executable Files to find the path.
Media Library in QTS has been disabled.
With a supported PHP accelerator, It helps to execute faster by caching compiled codes and eliminating the overhead of compiling the same code again. Fortunately, eAccelerator,an PHP accelerator, is enabled by default in QTS.
QNAP TS-269L is configured with following disk sets.
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.
I also add test result from following as reference:
- Performance Comparison on Retrieving Contacts from SugarCRM with QNAP TS-112, TS-212P, and TS-119PII
Performance
Analyze
QNAP TS-269L is close to Shuttle X50V2 on SugarCRM when using OCZ Vertex 120GB SSD. SSD is a little bit faster than HDD as RAID 1.
As you may see, there is no different between memory_limit in php.ini with 128M or 256M on QNAP TS-119PII. You may ignore it when reading the performance comparison table on QNAP TS-269L with others loading contacts from SugarCRM.
ARMADA XP seems to be a big improvement over Marvell 88F6281. Intel Atom CE5335 SoC perform as expected about 20% slower than Intel Atom D2701. But if you want to add more RAM, stay without Intel Atom CE5335 SoC.
Final Thoughts
For LAMP applications, it is okay to choose ARMADA XP based NAS for for 2 or 4 concurrent users while Intel Atom CE5335 SoC and Intel Atom D2700 based NAS models for 4 concurrent users if you use it as a dedicate application server without running other service.
The different between concurrent user is related to the logical core a processor may served. ARMADA XP has both 2 and 4 cores models. Check the model number before your buy. How Multi-Core Processors Accelerate your LAMP Applications provides more information about the detail.
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.
Reference
- ZurmoCRM
- QNAP
- QNAP: QTS
- Performance Comparison on Retrieving Contacts from SugarCRM with QNAP TS-112, TS-212P, and TS-119PII
- Wiki: LAMP (software bundle)
- Shuttle X50V2 Datasheet
- Intel: Intel Atom Processor D510
- Intel Atom Processor D2700
- QNAP TS-269L
- Debian
- QNAP TS-212P
- QNAP: TS-112
- QNAP TS-119PII
- Marvell: Marvell 88F6282 SoC
- Marvell: Marvell 88F6281 SoC with Sheeva Technology
- Wiki: Instruction set
- Wiki: Operating system
- QNAP: Upgrade RAM Memory for QNAP NAS
- Connect NAS to your Computer Directly
- SugarCRM
- QNAP: App Center (QPKG)
- QNAP: QNAPedia Community Wiki: Category:SugarCRM
- Mozilla: Firefox
- Wiki: PHP accelerator
- Wiki: List of PHP accelerators
- eAccelerator
- QNAP Turbo NAS User Manual: Media Library
- PHP: PHP Manual: Appendices: php.ini directives: memory_limit
- PHP: PHP Manual: Appendices: php.ini directives
- Wiki: Session (computer science)
- Wiki: Thread (computing)
- Seagate Surveillance HDD
- Wiki: Standard RAID levels: RAID 1
- Trusted Review: OCZ Vertex 120GB SSD review
- Wiki: Multi-core processor
- Wiki: Hyper-threading
- How Multi-Core Processors Accelerate your LAMP Applications
- Marvell ARMADA XP
- EETimes: Marvell quad-core ARM targets x86 servers
- SemiAccurate: Marvell ARMADA XP Processors: ARM for the datacenter?
- 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
- ARM Cortex – A8 vs. Intel Atom : Architectural and Benchmark Comparisons University of Texas at Dallas EE6304 Computer Architecture Course Project – Fall 2009 by Katie Roberts-Hoffman, Pawankumar Hegde
- ExtremeTech: SoC vs. CPU – The battle for the future of computing
- Perishable Press: Improve Site Performance by Increasing PHP Memory for WordPress
- StackOverflow: Is the more the better for PHP memory_limit? [closed]