본문 바로가기

php65

PHP 애플리케이션을 프로파일링 하여 느려진 코드를 진단 및 빠르게 하기 PHP 애플리케이션이 느려진다면 프로파일러를 사용하여 어디에서 시간이 소비되는지를 파악합니다. 문, 루프, 함수, 클래스, 라이브러리 중 가장 느린 움직임을 보이는 것을 찾을 수 있습니다. 시간 보다는 메모리 사용이 문제가 될 경우에는 좋은 프로파일러가 컴포넌트 풋프린트도 발견해 낼 수 있습니다. XCache (캐싱 패키지들 중 하나)는 컴파일 프로세스의 결과를 보존하여 과잉 작업을 줄인다. 페이지가 바뀌지 않는 한, 캐싱 된 페이지는 프록시로서 충분한 역할을 한다. 페이지가 수정되면 캐싱 된 버전은 무효가 되고 다른 것으로 대체된다. opcode 캐시와 opcode 옵티마이저는 사이트의 반응성을 높일 수 있는 저렴한 기술이라고 할 수 있다. 많은 캐시 패키지들이 프리 및 오픈 소스이기 때문에 코드를 수.. 2009. 7. 3.
opcode 캐시 소프트웨어로 성능과 처리량 높이기 PHP는 스크립팅 언어로써 웹 애플리케이션을 구현하는데 종종 사용되고 있습니다. 배우기 쉽고 시각적인 결과를 빠르게 만들어 냅니다. 하지만, PHP는 인터프리팅 되기 때문에 PHP 코드는 실행될 때마다 opcode로 파싱 및 변환됩니다. opcode 캐시는 재작업을 줄이면서, PHP 애플리케이션을 더욱 빠르게 만들어줍니다. 짧은 시간 동안 PHP는 웹 애플리케이션을 위한 대중적인 프로그래밍 언어가 되었다. 초보자도 PHP를 쉽게 설치할 수 있고 배우기도 쉽다. 보다 숙련된 개발자에게는, (V5부터) 강력한 객체 지향 기능을 제공한다. PHP 개발자 커뮤니티는 방대하고, 상당히 많은 오픈 소스와 상용 라이브러리와 툴들이 언어 기능을 확장하고 있다. PHP는 시각적인 결과를 빠르게 나타내기 때문에 많은 사람.. 2009. 7. 3.
PHP5의 MySQLi 확장 활용 예제 PHP5의 놀라운 기능들 중에서 특히 주목해야 할 부분을 꼽으라고 하신다면 저는 주저 없이 MySQLi (MySQL Improved Extension) 을 꼽겠습니다. (물론 simpleXML 확장도 굉장합니다만... ^^;) 기존 함수들인 mysql_* 형태를 거의 그대로 사용하실 수 있도록 mysqli_* 함수들이 준비되어 있고, PHP5의 클래스 모델을 통해서 사용하실 수 있도록 mysqli::* 형태로도 메소드들을 제공하고 있습니다. MySQLi 확장은 새로워진 PHP5에 대응하기 위한 MySQL 의 새로운 도전을 담고 있습니다. 물론 업그레이드된 MySQL 5 의 성능을 최대한으로 활용하기 위해서도 드라이버 재작성은 꼭 필요했을 겁니다. 기존의 mysql_* 함수들보다 작게는 2배에서 최고 40.. 2009. 7. 3.
PHP SSH2 사용한 원격 서버 접속 PHP 에서 원격지의 서버에 접속해서 데이터를 교환하거나 , 특정 프로그램을 실행시키기 위해 사용할 수 있다. 준비물 : OpenSSL(lib), libssh2, php_ssh2 리눅스 시스템 1. OpenSSL http://www.openssl.org/ 2. libssh2 http://sourceforge.net/projects/libssh2/ 3. ssh2 PHP extension http://pecl.php.net/package/ssh2 OpenSSL 설치 우선 소스를 적당한 디렉토리 (예제에서는 /usr/local/src 를 사용함) 에 다운로드 받는다. # tar zxvf openssl-0.9.8k.tar.gz # cd openssl-0.9.8k # ./config 또는 ./Configure -.. 2009. 6. 17.
PHP FreeTDS 사용 ODBC(MSSQL) 연동 PHP에서 Microsoft SQL 서버를 사용하기 위한 방법입니다. 편의상 존칭은 생략합니다. PHP에서 ODBC, Microsoft SQL, SyBase 등을 사용할때에 mssql 익스텐션을 컴파일 하기 위해서는 Free TDS 라이블러리가 필요하다. 이때 사용되는 프로토콜은 Microsoft SQL 4.2, 7.0, 8.0 프로토콜을 지원하고 있다. 설치 방법은 아래와 같다. 사이트 : http://www.freetds.org 다운로드를 적당한 디렉토리 (ex: /usr/local/src) 에 wget등을 이용해서 다운로드 받는다. (편의상 root로 작업) Free TDS 라이블러리 설치 # tar zxvf freetds-stable.tgz # cd freetds-0.82 # ./configure.. 2009. 6. 17.