Saturday, September 4, 2010
Monday, May 10, 2010
CentOS: find out what network ports are in use
[root@api1dev /usr/local/bin]nmap localhost
Starting Nmap 5.00 ( http://nmap.org ) at 2010-05-10 03:02 EDT
Interesting ports on vmlinux-testing1 (127.0.0.1):
Not shown: 991 closed ports
PORT STATE SERVICE
21/tcp open ftp
22/tcp open ssh
80/tcp open http
111/tcp open rpcbind
389/tcp open ldap
631/tcp open ipp
726/tcp open unknown
8009/tcp open ajp13
8080/tcp open http-proxy
For more detailed information, try netstat:
netstat -an
You’ll get a breakdown of every socket open on your machine – useful for figuring out who’s connected and from where.
Thursday, April 8, 2010
Monday, March 15, 2010
Alternative to HBase + Map-Reduce
Combining the best features of document databases, key-value stores, and RDBMSes.
MongoDB (from "humongous") is a scalable, high-performance, open source, schema-free, document-oriented database. Written in C++, MongoDB features:
- Document-oriented storage (the simplicity and power of JSON-like data schemas)
- Dynamic queries
- Full index support, including secondary indexes, inner-objects, embedded arrays, geospatial
- Query profiling
- Fast, in-place updates
- Efficient storage of binary data large objects (e.g. photos and videos)
- Replication and fail-over support
- Auto-sharding for cloud-level scalability
- MapReduce for complex aggregation
- Commercial Support, Training, and Consulting
MongoDB bridges the gap between key-value stores (which are fast and highly scalable) and traditional RDBMS systems. Many companies are using MongoDB in production today.
Quick Links
- Downloads
- Follow @mongodb on Twitter
- Use Cases | Philosophy
- Hosting Center
- Drivers
- Source Code
- Blog | Articles
- Tutorial | Try MongoDB in the Browser
- Licensing | Example Snippets | BugDB (Jira)
Support
- Support forums: mongodb-user | more...
- IRC: irc.freenode.net/#mongodb
- Commercial support: 10gen
- Training: 10gen
Thursday, February 18, 2010
Monday, February 8, 2010
Web performance in seven steps: Summary and Conclusions
Web performance in seven steps: Summary and Conclusions
Previous time I blogged about the last step of the seven steps, step 7: Share the responsibility for the whole chain, a non-technical but rather a communication and behavior thing which I found crucial for success. We now have reached the end of this series and I'll sum up the topics we've dealt with and draw some conclusions.
In this growing on line world with demanding customers it has become essential that services provided on the web are always available and always fast enough. This is often challenging to developers and operators: performance problems manifest themselves in various ways, like in frustration, loss of revenue and disruption of development; and just adding hardware is a doubtful solution.
The question is: how can we as developers and operators assure that our web site is always available and always fast? My answer is: you need the right approach. I present that approach: measure, don’t guess; seven steps to performance success. These seven steps are as follows:
- Step 1: Define performance requirements;
- Step 2: Execute a proof of concept;
- Step 3: Test representatively;
- Step 4: Test continuously;
- Step 5: Monitor and diagnose;
- Step 6: Tune based on evidence;
- Step 7: Share the responsibility for the whole chain.
This approach provides a pro-active way of working which my customers appreciate as valuable. It can actually be leveraged to assure high performance all the time, for virtually any on- and off-line application.
This blog series has been an interesting journey for me. Some time ago we presented our EJAPP Top 10 of performance problems. Now we have added this approach of seven steps to help assure your applications performance.
It has worked for us and our customers. How does this all work for you in practice? We’d like to hear your feedback.