Mike Willbanks' Blog: Performance Tuning Overview
549023
Mike Willbanks has posted an introduction he's written up giving some helpful hints at tuning your servers and PHP applications for performance.   The focus of this post is not to show performance related items to specific PHP frameworks since many bottlenecks actually apply before running the framework itself that should certainly be solved up front. Therefore in this posting I attempt to look at simple items that can be deployed in order to produce finer tuned systems.  He talks about a few different aspects:  PHP Performance Tuning (opcode caching, apc file priming, includes, loops, etc) RDBMS Performance Tuning (indexes in queries, query caching, archiving) HTTP Performance Tuning (content compression, css sprites, limit modules, etc)
53150
Mozilla's latest pre-release version of its browser remains buggy, but performance enhancements give us reason to get excited. In Monkey Bites.
53814
Cal Evans has posted his notes from the (just passed) Web Builder 2.0 Conference that happened over in Las Vegas. PHP had its presence there through Cal's "PHP Powers Mashups" talk and others like Chris Shiflett.   There was plenty to see and do at the conference besides PHP and Cal highlights just a few:  AJAX Optimization talks  An overview of some Flickr Stats Google's mashup offerings An introduction to  and some talk of benchmarking Ajax  Check out the full post though - it's jam-packed with links and some great event information.
396172
Alexey Zakhlestin gave a talk for the PHPThinktank IRC channel recently on the topic of YAML, PHP, and some of the work that he's done combining the two.   It happened a bit of spontaneously, so noone was invited. It was my first try, to make introduction to yaml for php prgrammers, and if there is more interest I will give another talk which will cover more details, this time with proper scheduling :)   You can check out the log of the discussion for his entire talk (covering topics like what YAML is, where to get more information on it, some of its features, and a mention of the Syck library for parsing it).
675185
In a new entry on his blog today, Marco Tabini introduces us to 5 PHP Performance Tips that we "probably don't want to hear".   I thought it might be interesting to write an article about the performance-enhancing tips you probably don't want to hear about - that is, those that are most likely to produce measurable (and durable) results but do require some effort on your part.   His list consists of:  You Don't Need To Plan Ahead In Order To Have A Plan Combat Database Abuse Do You Really Need A Database Anyway? Scale Horizontally Refactor To Scale Vertically  For each, he explains the title and gives a bit of validation to the point. There's some great mentions of tools that you can use to help accomplish them too - a profiler, the Lucene and Xapian full-text databases, and Lustre.
84243
With the race for dominance in processor clock speed over, or at least waning, the pursuit for overall performance gains through architectural enhancements is officially beginning.
583590
The trials and tribulations of application dependency in a virtualized, hosted world.
74851
Throughput improvements to 200 kilobits per second (up from between 70 kbps and 135 kbps) noted by multiple users.
360148
Tycho:  I should have all the science lined up by the end of the week, ready to stuff into the piano black lozenge I've obtained to celebrate my return to personal computing.  Wish me luck; I've never before had the opportunity to fry four processors at once.       I know things.  Specifically, things that may be of interest to you.  For example, I know if playing Eye of Judgment online is an onerous as it might seem.  It is not!  I cannot express my relief.    Well, let's try.  In my last, vast expose, I broke down a card's unique language and expressed some misgivings about online play - ultimately just accepting it, because what they're trying to do is so weird that there's no prior art.  Essentially, you "register" your thirty card deck with the system itself, where it is stored and named for future use.  This process is extremely straightforward:  it is simply a matter of you laying your cards anywhere on the mat, a few at a time.  It will probably take two minutes if you really keep on it.  Then, you jump online, choose what nation you want to play for, and track down a partner.  At this point, the game will "draw" you your five card hand by showing you the card art onscreen.  You get one Mulligan (or redraw), but if you like your hand you move into the game proper.  We laid out our deck by element, face up, and this smoothed the turn to turn process considerably.      In the build we have, and I hope this is changed for release, it shows you these cards in a single file line without their name or text - just the art.  Once you got familiar with these images, slightly modified from their card format, it's pretty quick - but the names should be displayed on this screen.  You can use the controller to pull up the names, but let's be serious - at no point should the player be forced to interact with a mundane controller once the game is underway.     You should know that the game really wants a well-lit environment.  You don't need a flare gun or anything, but we didn't have what we needed before and certain squares would slow down the game flow with partial reads that would only resolve after several attempts and minute card adjustments.  I should state that here in the office, we removed all the overhead lights, installing a single track of illumination that we point at the ceiling, where lights used to be.  We tend to transform any place we live into a cave.  So, our scenario might be somewhat atypical.    Also, I know if playing Rock Band with all the instruments off of a USB hub is onerous.  You will be happy to know that it is not - we played said instruments spread out on an actual stage, and found it more than satifactory.  The reality is that the drum kit already needs its own wire, so it isn't as though the future had actually arrived anyway.  Plus, the mic isn't wireless either. This makes the contrived brouhaha over wired guitars a fairly transparent traffic ploy.    This is a matter quite apart from Microsoft's reticence to play ball with unique, third party hardware.  And when I say "play ball," I'm taking about the shakedown operation they've got going licensing their wireless technology, which either makes products for their system more expensive or (in the salient case of Rock Band) results in them bundling a wired controller for the same price as a wireless one on a competitor's system.  This is the last holiday they can get away with this sort of thing...  right?
223965
Design and performance issues hold back this very cool idea.
101975
0. Introduction 1. SysAdmin of the Year Contest 2. Statistics  This SF.net update brought to you by HP --------------------------------------------------------- Open source and Linux from HP From eight consecutive years of Linux market leadership to countless community outreach programs, HP has proven solutions you can value, on a next generation, highly-efficient BladeSystem platform ideal for Linux, with the approach, experience, and customer commitment you can trust. http://www.linux.com/sponsor_solutions/hpos ---------------------------------------------------------  Hello, and welcome to this month's edition.  Last month, we announced the winners of the 2007 Community Choice Awards during our party at OSCON.  There were some surprises, lots of great winners, and a good time was certainly had by all.  For information about the winning projects, visit our Community Hub at http://sourceforge.net/community and click on the CCA logo.  The beta of our Marketplace continues to go well.  Our beta participants have been creating quality listings to provide our users with access to the experts they need...and, in the process, our design decisions are being validated one-by-one.  Keep a close watch on this new tool, it promises to be a hotspot of engineering activity for us over the next few months.  We will need some help, though!  We're looking for engineering talent to make all the complex things simple around here.  If you're in the bay area and want to join us, email jobs@corp.sourceforge.com  Thanks for reading!  The SourceForge.net Crew    SysAdmin of the Year Contest ----------------------------  Do have know a SysAdmin who goes beyond the call of duty? If so, nominate them as SysAdmin of the Year 2007.  They can win great prizes (Macbook Pro, iPhone, Splunk License), including the knowledge that you care.   The first 2500 SysAdmins nominated get a free t-shirt.  http://www.sysadminoftheyear.com    Statistics and Top Projects ---------------------------  Number of Projects: 155,959 Number of Registered Users: 1,662,751   Daily Stats for 20 August, 2007:  SF.net: 4,026,722 pages served Open Source Files downloaded in 24 hour period: 2,014,157  ---------------------------------------------------------  Top 25 Projects:   1. Azureus https://sourceforge.net/projects/azureus Azureus is a powerful, full-featured, cross-platform bittorrent client.  2. phpMyAdmin https://sourceforge.net/projects/phpmyadmin phpMyAdmin is a tool written in PHP intended to handle the administration of MySQL over the Web. Currently it can create and drop databases, create/drop/alter tables, delete/edit/add fields, execute any SQL statement, manage keys on fields.  3. Notepad++ https://sourceforge.net/projects/notepad-plus Notepad++ is a generic source code editor (it tries to be anyway) and Notepad replacement written in C++ with the win32 API. The aim of Notepad++ is to offer a slim and efficient binary with a totally customizable GUI.  4. OpenProj - Project Management https://sourceforge.net/projects/openproj OpenProj by Projity is a desktop replacement of Microsoft Project. OpenProj has equivalent functionality, a familiar user interface and even opens existing MSProject files. OpenProj is interoperable with Project, with a Gantt Chart and PERT chart etc.  5. ZK - Simply Ajax and Mobile https://sourceforge.net/projects/zk1 ZK is Ajax framework enriching Web apps with little programming. With event-driven and markup languages, development is as simple as programming desktops and authoring HTML/XUL pages. ZK supports scripting lang including Java, JavaScript, Ruby, Groovy...  6. dimdim meeting server https://sourceforge.net/projects/dimdim Dimdim is an open source web meeting product with features like Application, Desktop and Presentation sharing with A/V streaming and chat. No attendee installation - all features are available through a web browser. Dimdim can be integrated with Moodle.  7. ADempiere Bazaar https://sourceforge.net/projects/adempiere Adempiere is an ERP Bazaar for Open Source Developers that contribute improvements of Compiere, CRM, Shopfloor, POS, Helpdesk, Financials Accounting, Supply Chain, Knowledge and Business apps in an open and unabated fashion. Focus is on the Community.  8. Zenoss Core - Enterprise IT Monitoring https://sourceforge.net/projects/zenoss Zenoss Core is an enterprise network and systems management application written in Python/Zope. Zenoss provides an integrated product for monitoring availability, performance, events and configuration across layers and across platforms.  9. Openbravo ERP https://sourceforge.net/projects/openbravo Web based ERP for SMEs, built on proven MVC & MDD framework that facilitate customization & maintenance of code. Already in production, it encompasses a broad range of functionalities such as finance, supply chain, project mgmt, manufacturing & much more  10. FreeCol https://sourceforge.net/projects/freecol FreeCol is an open version of Colonization. It is a Civilization-like game in which the player has to conquer the new world.  11. FileZilla https://sourceforge.net/projects/filezilla FileZilla is a fast FTP and SFTP client for Windows with a lot of features. FileZilla Server is a reliable FTP server.  12. WebCalendar https://sourceforge.net/projects/webcalendar WebCalendar is a PHP application used to maintain a calendar for a single user or an intranet group of users. It can also be configured as an event calendar.  13. PhpGedView https://sourceforge.net/projects/phpgedview PhpGedView parses GEDCOM 5.5 genealogy files and displays them on the internet in formats and charts that you are familiar with.It also allows relatives to edit their genealogy online and collaborate together on their research.  14. MediaInfo https://sourceforge.net/projects/mediainfo Get technical information and tags of a lot of multimedia files. Supported formats : - Video : AVI/OGM/MKV/MPG/VOB/MP4/3GP/... - Audio : MP3/OGG/MKA/MP4/AAC/...  15. 7-Zip https://sourceforge.net/projects/sevenzip 7-Zip is a file archiver with the high compression ratio. The program supports 7z, ZIP, CAB, RAR, ARJ, LZH, CHM, GZIP, BZIP2, Z, TAR, CPIO, RPM and DEB formats. Compression ratio in the new 7z format is 30-50% better than ratio in ZIP format.  16. KeePass Password Safe https://sourceforge.net/projects/keepass KeePass Password Safe is a free, open source, light-weight and easy-to-use password manager for Windows. You can store your passwords in a highly-encrypted database, which is locked with one master password or key file.  17. MinGW - Minimalist GNU for Windows https://sourceforge.net/projects/mingw MinGW: A native Win32 port of the GNU Compiler Collection (GCC), with freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality.  18. XOOPS Dynamic Web CMS https://sourceforge.net/projects/xoops XOOPS is a dynamic web content management system written in PHP for the MySQL database. Its object orientation makes it an ideal tool for developing small or large community websites, intra company and corporate portals, weblogs and much more.  19. FreeMind https://sourceforge.net/projects/freemind A mind mapper, and at the same time an easy-to-operate hierarchical editor with strong emphasis on folding. These two are not really two different things, just two different descriptions of a single application. Often used for knowledge and content mgmt.  20. Arianne RPG https://sourceforge.net/projects/arianne Arianne is a multiplayer online engine to develop turn based and real time games providing a simple way of creating the game server rules and clients like Stendhal. Marauroa, our server, uses Java and MySQL for hosting hundreds of players on a solo host.  21. OrangeHRM - Human Resource Management https://sourceforge.net/projects/orangehrm OrangeHRM developed by OrangeHRM Inc is an Open Source HR Information Systems(HRIS) that assists you in managing company's human resources. Through scalable modular architecture it covers main areas of Personnel Management/HRM such as PIM, ESS & Leave.  22. Gallery https://sourceforge.net/projects/gallery A slick, intuitive web based photo gallery. Gallery is easy to install, configure and use. Gallery photo management includes automatic thumbnails, resizing, rotation, and more. Authenticated users and privileged albums make this great for communities.  23. Pidgin https://sourceforge.net/projects/pidgin Pidgin is a GTK+ instant messaging application for Windows and Unix. It supports AIM, ICQ, Jabber/XMPP, MSN, Yahoo!, Bonjour, Gadu-Gadu, IRC, QQ, SILC, SIMPLE and more. See http://pidgin.im/about.php for more information.  24. XBMC (Xbox Media Center) https://sourceforge.net/projects/xbmc XBMC (Xbox Media Center) is a free multimedia player jukebox for Microsoft Xbox game console, it is capable of playing back almost all known video, audio and picture formats from the Xbox harddrive, DVD-ROM drive, a local-network, and even the internet.  25. JasperReports - Java Reporting https://sourceforge.net/projects/jasperreports JasperReports, the market leading open source business intelligence and reporting engine. This project is being moved to http://www.jasperforge.org/. This project is the home for all things Jasper, Reports, Analysis, Server, and Intelligence.
14213
Is optimisation the root of all evil - or, at least, many bugs There was a time in my career, in the 1960s, when optimisation wasn't optional. System memories were measured in kilobytes, instruction times in tens or hundreds of microseconds. We planned our programs around those limited resources.â¦
11401
This paper will cover the challenge of identifying a reliable source of information to populate and maintain accurate configuration information from the distributed application and server environment for use in the CMDB.
740094
In his travels as a PHP developer, Jamie Wong has gathered some helpful debugging tips that are shared in this latest post to his blog.   Here are some bugfixing rules and tips Iâve learned working all these years with PHP. I emphasize mostly on fixing bugs than preventing them, which is another subject worth of its own article. Iâve moved to Rails, but I wanted to finish this post as a farewell and thanks to every article and documentation that was useful to me. Hope this is useful to you too.   Topics covered include:  Assume nothing Turn Error Reporting to show all errors Read the error message Understand the bug "Scooby-Bug, where are you?" Get as much information as possible  Each has some explanation below it and, in some places, a bit of code to clarify the point.
224257
(Source: Symphoniq) Learn why traditional performance tools can't deliver the visibility and control required to manage today's complex architectures as well as requirements an optimal solution should provide.  Listen to this podcast now!
146149
An introduction to using refactoring, unit testing and ZenTest on existing code.
457664
In this post on the Zend Developer Zone, Cal Evans takes a look at an article published in a recent php|architect issue from Chris Hartjes about how several recent advancements in the PHP community have helped developers think more in "the Rails way" of development.   Chris does a good job of laying out his points. As with any article of this nature, you are going to agree with some of them and you'll disagree with some of them. However, to get to that point you'll have to consider all of them. That's really the point of the article; making developer sit back and think for a minute. It's well worth the read.   Cal also mentions some of the topics presented in the article including more conceptual ideas like "Convention Over Configuration" and "Rapid Should Mean Rapid".