Serving All Israeli News Web Sites from a Single EC2 instance...
For the last year the development of the CppCMS project was less active. The vast majority of the work hours were spent on a customer's project that used CppCMS to create an outstanding advertisement system.
The project is called Linicom.
Today, when Linicom is up, running and maintained by a larger team, so I can resume the activity on the core CppCMS project itself.
Few words about Linicom:
Linicom is an engine that provides content and visitor sensitive advertisements for almost all large Israeli news web sites: including Ynet, Haaretz, Jerusalem Post, Mako, Walla and other significant web sites in Israel and abroad.
Here some interesting facts:
- Linicom is based on CppCMS technology.
- The system serves around 10,000,000 custom requests a day, i.e ~115 req./s.
- During peak hours, it servers around 160 requests per second.
- Its typical network output is around 11 megabit per second.
- Its total memory consumption (web server, database, applications, OS) is only around 350Mb.
- The server's average CPU load is around 5%
- The server runs on a
c1.medium
Amazon EC2 instance.
The system runs behind Lighttpd and uses PostgreSQL for persistent data storage. Also PostgreSQL is used extensively, all real time data is stored in memory.
Almost every request needs data processing in order to provide highly customized advertisements. In technical terms it means that almost no request can be "outsourced" to a static files - every request for every customer should be processed explicitly.
This system is probably one of the classic applications of CppCMS technology - web based system that required to be fast and efficient, being able to handle outstanding and sometimes unexpectedly changing loads without problems and provide high QoS.
Use of in-memory data storage, caching and efficient handing of the data that can't be cached is were CppCMS shines. Having a big growth potential with a minimal required maintenance and high reliability allows the to handle the business-end safely without worrying about performance issues.
Comments
Hi Artyom,
First of all congratulation! I have juste one question: Did you introduce a new feature or a new improvement to cppCMS_1.0.5 to achieve this great project awesome?
Thanks a lot?
1.0.x branch is maintenance release, it usually does not receive new features unless they are absolutely necessary.
See release notes for 1.0.5: http://blog.cppcms.com/post/116
Is there any new development work that's committed to svn ? I'm just curious.
Artyom,nice to see that your product generated the necessary expectation and confidence to be used. I have a curiosity: I can see that you continue using Lighttpd; in one of your previous blogs (year 2012) you recommended the use of this product instead of nginx. Does it mean that during the last two years, nginx did not accomplished the solution to your observations? Thanks.
Hi to all. When we can see the newest version of this framework?
This is the most wonderful platform! Very much looking forward to a new release and implementation of advancement in development =) Thank you for your work.
Add Comment:
You must enable JavaScript in order to post comments.