1 million is so 2011
Happy 2012 everyone!
A few months ago we published a blog post that talked about our servers doing 1 million tcp connections on a single box:
Today we have an update for those keeping score at home: we are now able to easily push our systems to over 2 million tcp connections!
Best part is that we are able to do it with plenty of CPU and memory to spare and do it sustainably:
This time we also wanted to share some more technical details with you about hardware, OS and software:
and the last important piece of our infrastracture is Erlang:
P.S. - we are hiring in both client and server teams, so send your resume to jobs at whatsapp dot com if you are interested (.. and we are also looking for summer interns)
A few months ago we published a blog post that talked about our servers doing 1 million tcp connections on a single box:
Today we have an update for those keeping score at home: we are now able to easily push our systems to over 2 million tcp connections!
jkb@c123$ sysctl kern.ipc.numopensockets
kern.ipc.numopensockets: 2277845
Best part is that we are able to do it with plenty of CPU and memory to spare and do it sustainably:
CPU: 37.9% user, 0.0% nice, 13.6% system, 6.6% interrupt, 41.9% idle
Mem: 35G Active, 14G Inact, 18G Wired, 4K Cache, 9838M Buf, 27G Free
This time we also wanted to share some more technical details with you about hardware, OS and software:
hw.machine: amd64
hw.model: Intel(R) Xeon(R) CPU X5675 @ 3.07GHz
hw.ncpu: 24
hw.physmem: 103062118400
hw.usermem: 100556451840
jkb@c123$ uname -rps
FreeBSD 8.2-STABLE amd64
jkb@c123$ cat /boot/loader.conf.local
boot_verbose=""
kern.hwpmc.nbuffers=32
kern.hwpmc.nsamples=64
kern.ipc.maxsockets=2400000
kern.maxfiles=3000000
kern.maxfilesperproc=2700000
kern.maxproc=16384
kern.timecounter.smp_tsc=1
net.inet.tcp.tcbhashsize=524288
net.inet.tcp.hostcache.hashsize=4096
net.inet.tcp.hostcache.cachelimit=131072
net.inet.tcp.hostcache.bucketlimit=120
and the last important piece of our infrastracture is Erlang:
8> erlang:system_info(system_version).
"Erlang R14B03 (erts-5.8.4) [source] [64-bit] [smp:24:24] [rq:24] [async-threads:0] [kernel-poll:false]\n"
P.S. - we are hiring in both client and server teams, so send your resume to jobs at whatsapp dot com if you are interested (.. and we are also looking for summer interns)
one billion messages
Coinciding
with our planet crossing the 7 billion population mark this week, last
week WhatsApp crossed its own milestone for the first time by sending
just over 1 billion messages in a single day. Similar to the awe we
feel that our planet will now hold over 7 billion people, all of us at
WhatsApp are extremely humbled and excited about the future.
Just how much is 1 billion messages? That is 41,666,667 messages an hour, 694,444 messages a minute, and 11,574 messages a second.
1 billion messages a day is a significant milestone and also a small step closer towards our goal: providing a great mobile messaging system for a global market, regardless of your handset.
The loyalty and passion consumers have for our product leaves us feeling great gratitude, we really couldn't do it without you.
Just how much is 1 billion messages? That is 41,666,667 messages an hour, 694,444 messages a minute, and 11,574 messages a second.
1 billion messages a day is a significant milestone and also a small step closer towards our goal: providing a great mobile messaging system for a global market, regardless of your handset.
The loyalty and passion consumers have for our product leaves us feeling great gratitude, we really couldn't do it without you.
Windows Phone = SIX
On Saturday September 25th, after months of hard work, our Windows Phone client went live in the Marketplace!
WhatsApp Messenger for Windows Phone is available to those running version 7.5 (Mango) release on their device. We are sorry if you don't have Windows Phone 7.5 yet, but very soon all of the current Windows Phone 7.0 devices will get upgraded to 7.5 and you will be able to download and enjoy our app.
Also, Windows Phone client release brings our total supported mobile platforms to SIX! Just to recap, they are:
WhatsApp Messenger for Windows Phone is available to those running version 7.5 (Mango) release on their device. We are sorry if you don't have Windows Phone 7.5 yet, but very soon all of the current Windows Phone 7.0 devices will get upgraded to 7.5 and you will be able to download and enjoy our app.
Also, Windows Phone client release brings our total supported mobile platforms to SIX! Just to recap, they are:
- iPhone (OS 3.1 or newer)
- Android (OS 2.1 or newer)
- BlackBerry (OS 4.5 or newer)
- Nokia Symbian S60 (3rd Edition Feature Pack 1 or newer)
- Nokia S40 (6th edition or newer)
- Windows Phone (OS 7.5 or newer)
ONE MILLION!
We
usually don't use this blog to talk about the technology stack behind
WhatsApp, but today we wanted to share with you an awesome milestone we
have reached.
Over the past few months we have been making a lot of improvements to our servers to increase the performance, uptime and scalability. Today we have tuned some knobs, shifted some traffic around and achieved 1 million established tcp sessions on a single machine (and with memory and cpu to spare!)
We are extremely proud of this achievement and wanted to share with other tech minded people out there. For those curious how we did it, the technology on the backend is simple: FreeBSD + Erlang
P.S. - we are hiring in both client and server teams, so send your resume to jobs at whatsapp dot com if you are interested.
Over the past few months we have been making a lot of improvements to our servers to increase the performance, uptime and scalability. Today we have tuned some knobs, shifted some traffic around and achieved 1 million established tcp sessions on a single machine (and with memory and cpu to spare!)
$ netstat -an | grep -c EST
1016313
We are extremely proud of this achievement and wanted to share with other tech minded people out there. For those curious how we did it, the technology on the backend is simple: FreeBSD + Erlang
P.S. - we are hiring in both client and server teams, so send your resume to jobs at whatsapp dot com if you are interested.
Nokia S40
Today
we are happy to announce the public beta release of WhatsApp Messenger
for the Nokia S40 platform. You can download it by visiting http://www.whatsapp.com/s40/ from your Nokia S40 phone (we are only supporting Nokia C3-00 and Nokia X2-01 phones at the moment, but we plan to add support for more S40 devices in the future)
As with any beta software, we need your help finding and reporting bugs - so please email s40-support at whatsapp dot com if you run into any problems with WhatsApp Messenger on your Nokia S40 phone. You can also contact us directly from the app via Options > About > Contact (that is preferred method when reporting bugs)
Please keep in mind that the product is still in beta and has limited functionality when it comes to multi-media or group chat. We plan to continue development efforts to further improve the application by fixing existing bugs and adding new features. Stay tuned...
As with any beta software, we need your help finding and reporting bugs - so please email s40-support at whatsapp dot com if you run into any problems with WhatsApp Messenger on your Nokia S40 phone. You can also contact us directly from the app via Options > About > Contact (that is preferred method when reporting bugs)
Please keep in mind that the product is still in beta and has limited functionality when it comes to multi-media or group chat. We plan to continue development efforts to further improve the application by fixing existing bugs and adding new features. Stay tuned...
Group chat
It
took us slightly longer, but group chat is finally here. If you have
an iPhone, BlackBerry or Android phone, simply upgrade to version 2.6 of
our software to enjoy group chat. If you have a Nokia Symbian S60
phone, we are working on adding group chat to our Symbian client and
hope to release it shortly.
Here are a few important notes on group chat:
- WhatsApp Team
Here are a few important notes on group chat:
- currently group chat is limited to 5 people. in the future we will increase this limit.
- you can exit a group chat that you are in at any time. simply delete the group conversation from the main Chats window to do that.
- you can control group chat alerts and notifications separately from individual messages.
- WhatsApp Team
iPhone 2.5.12: the extra mile
A couple months ago Apple published "App Store Review Guidelines" document. At the bottom of this document it said:
Above all else, join us in trying to surprise and delight users. Show them their world in innovative ways, and let them interact with it like never before. In our experience, users really respond to polish, both in functionality and user interface. Go the extra mile. Give them more than they expect. And take them places where they have never been before. We are ready to help.
Well, our 2.5.12 version does just that: it goes that extra mile. You will not find any new earth-shattering features in this release but we went over every single existing feature in the application and tried to improve it even more. So here is what is coming in 2.5.12 after Apple approves it:
Above all else, join us in trying to surprise and delight users. Show them their world in innovative ways, and let them interact with it like never before. In our experience, users really respond to polish, both in functionality and user interface. Go the extra mile. Give them more than they expect. And take them places where they have never been before. We are ready to help.
Well, our 2.5.12 version does just that: it goes that extra mile. You will not find any new earth-shattering features in this release but we went over every single existing feature in the application and tried to improve it even more. So here is what is coming in 2.5.12 after Apple approves it:
- Message history search: every wanted to search your conversation history by keywords? now you can.
- Copy image from clipboard: you can now paste images into the text input box.
- Scroll bounce inside of the text input box now works. This is a very minor detail but it was important for us to get it right and this also fixes autocorrection suggestions for Asian languages.
- Video editing: when you try to send a video to your contact which is too long, the application will now ask you to edit and trim the video instead of just blindly tell you video can't be sent.
- Video thumbnails: no more will you see the generic blue video thumbnail when sending or receiving videos. We will now generate a thumbnail from the video instead of showing you the default blue thumbnail.
- Application now dismisses Camera when moved into the background. This is a minor detail but that is expected and correct behavior.
- You can now Delete or Forward individual messages without having to go into the full conversation Edit mode. Simply tap and hold on the message bubble to get the Copy/Delete/Forward menu popup.
- Have you ever gotten a video or audio attachment in your Email that you wanted to forward directly to a WhatsApp contact? Now you can: simply tap and hold on the attached file in the Email app.
- Got an iPhone 4? We now generate high resolution thumbnails for pictures that you send to your friends.
- This will probably affect only a very small percentage of you, but application now behaves correctly when you are running low on storage space on your iPhone and try to use Camera for video or picture.
- Full localization updates for languages we support.
- We fixed our contact index bar: it should now work properly with all alphabets.
- Our audio notes recorder got two updates: retina display graphics and localization.
- You can now cancel multimedia during upload or download by pressing on the (X) button in the transparent progress indicator bar.
- We spent A LOT of time trying to improve our networking code. You should see drastic improvements in that area (especially if you use Wi-Fi)
- We added Dutch localization to this release.
- You can now preview pictures before sending them. No more sending the wrong picture by mistake.
- We made rotation from Landscape to Portrait (and from Portrait to Landscape) work much faster.
Breaking the radio silence
It
is hard to comprehend that 1992 was almost 20 years ago. It only seems
like yesterday that Al Pacino delivered the performance of his life in
Scent of a Woman - a performance that won him a best actor award. In
that movie Lt. Col. Frank Slade says that "there isn't nothin' like the sight of an amputated spirit",
but there is also nothin' like the sight of an abandoned blog. We are
sorry we haven't kept in touch with you through this blog, but if there
was ever a time to break the Radio Silence, now is the time.
The first item we would like to address is the stability of our system: Yes, we are well aware that last week has been pretty bad and we are doing everything we can to improve the stability of the service. We have made some architectural changes already and in the next 48 hours will be making more improvements to the system. WhatsApp very quickly has evolved into a large user community and we are fully aware of our commitment to provide you with excellent service.
The second item we want to talk about is product related. Two months ago we released our Nokia Symbian client and it is now available for download from our website. We are working on adding multi-media transfer functionality to the Nokia Symbian client and hope to have it ready for you soon. We have also released our Android 2.x client for download from our website. Further, if you have Android 2.2 you will enjoy our use of c2dm to help you save on battery life. Our Android client already has most of the features of the iPhone client and we will be making it available in the Android Marketplace shortly. The question we also get asked a lot about is group chat: yes, we are working on it as well and hope to have it available later this year.
The last item we would like to quickly address is the cost of the product. A small number of you have asked us why don't we switch to a free model and use advertising. The problem is that ads suck and ads suck even more on the small screen of a mobile device. We want to provide the best user experience and doing advertising will only get in the way of clean UI.
OK, we should now go back to working on the servers:)
The first item we would like to address is the stability of our system: Yes, we are well aware that last week has been pretty bad and we are doing everything we can to improve the stability of the service. We have made some architectural changes already and in the next 48 hours will be making more improvements to the system. WhatsApp very quickly has evolved into a large user community and we are fully aware of our commitment to provide you with excellent service.
The second item we want to talk about is product related. Two months ago we released our Nokia Symbian client and it is now available for download from our website. We are working on adding multi-media transfer functionality to the Nokia Symbian client and hope to have it ready for you soon. We have also released our Android 2.x client for download from our website. Further, if you have Android 2.2 you will enjoy our use of c2dm to help you save on battery life. Our Android client already has most of the features of the iPhone client and we will be making it available in the Android Marketplace shortly. The question we also get asked a lot about is group chat: yes, we are working on it as well and hope to have it available later this year.
The last item we would like to quickly address is the cost of the product. A small number of you have asked us why don't we switch to a free model and use advertising. The problem is that ads suck and ads suck even more on the small screen of a mobile device. We want to provide the best user experience and doing advertising will only get in the way of clean UI.
OK, we should now go back to working on the servers:)
Yes, it is coming!
Yes, in just 24 hours we will make our WhatApp messenger for BlackBerry available for direct download from our website.
We also just removed our app from the AppWorld and will no longer be distributing WhatsApp Messenger through the AppWorld. We are making this change primarily for the following reasons:
- Worldwide distribution. AppWorld is currently limited to just a handful of countries and we want to make our app available to you no matter where you live.
- Try and buy. You will be able to download our Blackberry application for free, try it and pay for one year of service through Paypal (Google checkout option coming soon). Switching to service and charging an annual subscription will help us better deal with piracy and build a sustainable business.
- For our existing Blackberry users, we want to thank you for your help in beta testing and early adoption. If you already purchased and registered WhatsApp from the AppWorld, your account will get 10 year subscription automatically.
Our goal is to launch Sunday night (we are in PST), so check for availability
We also just removed our app from the AppWorld and will no longer be distributing WhatsApp Messenger through the AppWorld. We are making this change primarily for the following reasons:
- Worldwide distribution. AppWorld is currently limited to just a handful of countries and we want to make our app available to you no matter where you live.
- Try and buy. You will be able to download our Blackberry application for free, try it and pay for one year of service through Paypal (Google checkout option coming soon). Switching to service and charging an annual subscription will help us better deal with piracy and build a sustainable business.
- For our existing Blackberry users, we want to thank you for your help in beta testing and early adoption. If you already purchased and registered WhatsApp from the AppWorld, your account will get 10 year subscription automatically.
Our goal is to launch Sunday night (we are in PST), so check for availability
Looking for a few beta testers
If
there is anything we learned in the past few weeks is that we need to
do better job of beta testing our application all across the world.
So we are looking for about 15-20 people to help us beta test our upcoming releases. Here are the requirements:
1. You are not in North America (we already got North America covered) 2. You love WhatsApp, use it every day and care about every little detail inside the app 3. You have a Mac and your iPhone is synced to your iTunes on your Mac 4. You are somewhat technically savvy (you understand the difference between 3G and WiFi and understand how internet works) 5. You know what your iPhone UDID is or you know how to get it.
If you would like to participate, simply leave a comment stating what country and mobile carrier you are using. We are looking for geographical and mobile carrier diversity. If we feel that you qualify, will let you know.
UPDATE: Thank you everybody who responded. Beta program is now closed.
So we are looking for about 15-20 people to help us beta test our upcoming releases. Here are the requirements:
1. You are not in North America (we already got North America covered) 2. You love WhatsApp, use it every day and care about every little detail inside the app 3. You have a Mac and your iPhone is synced to your iTunes on your Mac 4. You are somewhat technically savvy (you understand the difference between 3G and WiFi and understand how internet works) 5. You know what your iPhone UDID is or you know how to get it.
If you would like to participate, simply leave a comment stating what country and mobile carrier you are using. We are looking for geographical and mobile carrier diversity. If we feel that you qualify, will let you know.
UPDATE: Thank you everybody who responded. Beta program is now closed.