Archive

Posts Tagged ‘Performance’

i Can › Performance Reports With the Performance Data Investigator

May 1st, 2013 Comments off
Several weeks ago I wrote about the latest enhancements to the Performance Data Investigator in Performance Data Investigator – Better than Ever. That article had...


Read the original at i Can.

i Can › IBM i Performance Frequently Asked Questions

February 27th, 2013 Comments off
IBM recently published an IBM i Performance FAQ. This document is a fantastic resource on all types of performance topics. It reviews the various components...


Read the original at i Can.

i Can › Commands to Manage Performance Collections

January 22nd, 2013 Comments off
A few weeks ago I wrote about the various Performance Data Collectors in IBM i. It’s great to be able to collect such a wide...


Read the original at i Can.

i Can › Job Performance Information

September 11th, 2012 Comments off
Last week I wrote about the basic performance information that had been added to the CPF1240/CPF1241 messages, and in that blog also mentioned the basic...


Read the original at i Can.

i Can › Job Performance Information

September 11th, 2012 Comments off
Last week I wrote about the basic performance information that had been added to the CPF1240/CPF1241 messages, and in that blog also mentioned the basic...


Read the original at i Can.

i Can › CPF1240 and CPF1241 Messages Contain Summary Performance Data

September 5th, 2012 Comments off
You probably know that the CPF1164 (Job Ended) message that is sent to the history log contains some basic performance information regarding the job that...


Read the original at i Can.

i Can › CPF1240 and CPF1241 Messages Contain Summary Performance Data

September 5th, 2012 Comments off
You probably know that the CPF1164 (Job Ended) message that is sent to the history log contains some basic performance information regarding the job that...


Read the original at i Can.

Alan Seiden's PHP and IBM i Resources › Web performance webinar today

March 29th, 2012 Comments off

Hope you can join me for “Web performance first aid,” a webcast for the COMMON user group. The webcast will be recorded and archived for future listenings as well.

The webcast is for COMMON members, so anyone wanting to hear it needs to join COMMON.

I based the presentation on my consulting practice that helps ensure high performance for PHP and Zend Framework applications on IBM i. Good performance is critical for customer acceptance of web sites and mobile applications.

Webcast link: http://www.common.org/index.php/webcasts/upcoming-webcasts.html

Anyone wishing to see just the slides can do that on my site: http://alanseiden.com/presentations and look for “Web performance first aid.”


Read the original at Alan Seiden's PHP and IBM i Resources.

Alan Seiden's PHP and IBM i Resources › Zend Framework DB2 adapter for IBM i

October 30th, 2011 Comments off

I recently received a question about how to use DB2 with Zend Framework on IBM i. Thomas wrote:

I would like to start with Zend Framework on i5 [IBM i] with Zend Server and ZF’s DB2 database adapter. I got this error message:
Qualified object name SYSCOLUMNS not valid. SQLCODE=-5016

I told Thomas about an improved DB2 adapter, optimized for IBM i, that I’d created in cooperation with Zend. Its usage is explained in my presentation, “From Zero to ZF,” on my Presentations page: http://www.alanseiden.com/presentations/.

Thomas wrote back to say this adapter worked perfectly for him, eliminating the error and improving performance. I believe this DB2 adapter (or something similar) will eventually be included with Zend Framework 2.0, but until then, it works well as a custom adapter.


Read the original at Alan Seiden's PHP and IBM i Resources.

Alan Seiden's PHP and IBM i Resources › PHP performance tip: disable unused extensions with Zend Server

August 8th, 2011 Comments off

Whenever I’m brought in to improve the performance of a PHP application, an easy change I make is to disable any PHP extensions that the application does not use. PHP extensions are code libraries written in C that add to PHP’s native functionality. Examples of popular extensions on IBM i are ibm_db2 and curl.

Boost performance by disabling unneeded extensions

I’ve noticed that Zend Server ships with most extensions enabled, presumably so that developers won’t have to see “extension not enabled” error messages. While the default configuration is fine as a starting point, developers should understand that each extension requires memory when loaded. When every bit of performance counts, it’s best to disable the unused extensions. Note: don’t disable anything till you read Several Extensions to Keep Enabled.

Managing PHP extensions

To manage extensions, Zend Server provides the “Server Setup / Extensions” tab. Each extension can be enabled or disabled with its “Turn on” or “Turn off” links. Changes do not take effect until the “Restart PHP” button is clicked.

Zend Server PHP extensions management page

Zend Server's Extensions page where PHP extensions are managed

Storage location for extension settings

Zend Server stores extension settings in a set of .INI files, one file per extension. On IBM i, the files are located in /usr/local/ZendSvr/etc/conf.d. Before making large-scale changes, you may wish to back up this folder. Then, if you discover you were overzealous in disabling extensions, you can compare the contents of conf.d with your backup to find out where you went wrong.

Several extensions to keep enabled

In addition to whatever extensions are required by a given application, I’ve found that several extensions are required by Zend Server itself. Do not disable these. So far, I’ve found that Zend Server requires these extensions to be enabled:

  • ctype
  • iconv
  • json
  • pdo_mysql
  • simplexml (used by new open source toolkit)
  • zip

If you accidentally disable an extension required by Zend Server, which you’ll discover when Zend Server fails to start properly, you must re-enable the extension in the correct .INI file and then restart Zend Server from a command line or menu. On IBM i, the command is STRTCPSVR SERVER(*HTTP) RESTART(*HTTP) HTTPSVR(ZENDSVR).

More performance tips to come

I plan to write about more techniques to improve PHP application performance, particularly on IBM i, that I’ve found to be effective in my consulting experience. Performance is a critical part of user experience that developers should not ignore. In addition to this practical need for good performance, I can speak for myself, at least, in saying I feel great satisfaction when I can take a slow application (sometimes the victim of an underpowered server) and, step by step, help it run faster and faster, till the performance is at least acceptable and sometimes quite fast. More to come.


Read the original at Alan Seiden's PHP and IBM i Resources.