간단한 PHP , MYSQL 성능 측정 프로그램



benchmark-php-master.zip



참고로 windows 서버에서 mysql 속도만 느리게 나온다면


locahost 를 127.0.0.1 


로 바꿔보자. 


,


dbdump.ps1


$MySQLPath = "c:\xampp\mysql\bin"
$Hostname = "localhost"
$Username = "root"
$Password = ""

# Get list of Databases
$Databases = [System.Collections.Generic.List[String]](& $MySQLPath\mysql.exe -h"$Hostname" -u"$Username" -p"$Password" -B -N -e"show databases;")

# Remove databases from list we don't want
[void]$Databases.Remove("information_schema")
[void]$Databases.Remove("mysql")
[void]$Databases.Remove("performance_schema")
# Remove databases from list we don't want
[void]$Databases.Remove("dol31")
[void]$Databases.Remove("gb4")

# Dump database to .SQL file
& $MySQLPath\mysqldump.exe -h"$HostName" -u"$Username" -p"$Password" -B $($Databases) | Out-File "e:\local\mysql.sql"


.bat 에서 실행방법

Powershell.exe -executionpolicy remotesigned -File e:\local\dbdump.ps1

,

프로그램의 locale 을 변경하는 프로그램 applocale 이다.


다른 locale 프로그램과 달리 .bat 파일처럼 다른 exe 나 dll 을 실행하더라도 전부다 locale 이 변환된다.



apppatch.zip


,

windows 8 에서 xampp 설치시 리부팅만 하면 mysql 에러가 나면서 실행이 안된다.


error 1067 이 나온다.


150117  5:10:29 [Note] Plugin 'FEDERATED' is disabled.

150117  5:10:29 InnoDB: The InnoDB memory heap is disabled

150117  5:10:29 InnoDB: Mutexes and rw_locks use Windows interlocked functions

150117  5:10:29 InnoDB: Compressed tables use zlib 1.2.3

150117  5:10:29 InnoDB: Initializing buffer pool, size = 16.0M

150117  5:10:29 InnoDB: Completed initialization of buffer pool

150117  5:10:29 InnoDB: highest supported file format is Barracuda.

150117  5:10:29  InnoDB: Operating system error number 87 in a file operation.

InnoDB: Some operating system error numbers are described at

InnoDB: http://dev.mysql.com/doc/refman/5.5/en/operating-system-error-codes.html

InnoDB: File name C:\xampp\mysql\data\ib_logfile0

InnoDB: File operation call: 'aio read'.

InnoDB: Cannot continue operation.



해결법은...


http://www.websofia.com/2012/04/mysql-error-1067-windows-error-87-error_invalid_parameter/


에 나온 것처럼


my.ini 에서 innodb 부분을 찾아서


innodb_flush_method=normal


또는


innodb_flush_method = normal
innodb_force_recovery = 1


를 추가한다.


이것때문에 나도 수없이 헤맸다. windows 8 에서 있는 버그인듯.

,

리모트 데스크탑(RDP) 동시에 여러 유저 사용하는 방법은 2가지가 있다.


1) system32 의 termsrv.dll 을 패치하는 방법

2) RDP wrapper 를 사용하는 방법


1) 이 보통 많이 쓰이는 방법인데 윈도우 업데이트 때마다 날라가는 아쉬움이 있다.

2) 방법은 


http://stascorp.com/load/1-1-0-63

에서 개발중으로 termsrv.dll 을 손대지 않기 때문에 더 안정적이다.


rdp wrapper.zip


를 install.bat 를 관리자 권한으로 실행하면 설치 된다.

,


http://www.inven.co.kr/board/powerbbs.php?come_idx=2632&l=138

에서 확인한 내용입니다.


안녕하세요. 자유개발자입니다. 저 같은 경우 윈도우7을 SSD에 넣어서 사용하고 있는데..
해당폴더가 점점 증식하더군요.. 10GB를 넘어서고 있었는데, 아래의 방법으로 다이어트해서 6GB로 줄어들었습니다.
국내 사이트에서는 검색이 안되서 구글링 해서 방법을 이렇게 남깁니다..
 

실행하시기 전에
C:\Windows\winsxs 폴더 우클릭 > 속성 을 고르고, 크기에 사이즈를 기억하세요.


1 . Window키 + R : 실행창이 뜸

2 . cmd 치고 엔터 : 도스창 띄움

3 . DISM /online /Cleanup-Image /SpSuperseded 치고 엔터(혹은 긁어서 카피하고 도스창 우클릭 붙여넣기)

4 . 기다립니닷..

5 . 완료..


아래와 같은 화면이 나옵니다.


Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.

 

C:\Users\minu>DISM /online /Cleanup-Image /SpSuperseded
배포 이미지 서비스 및 관리 도구
버전: 6.1.7600.16385
이미지 버전: 6.1.7600.16385
서비스 팩 설치 시 만들어진 백업 파일을 제거하는 중입니다.
[==========================100.0%==========================]
서비스 팩 정리 작업이 완료되었습니다.
작업을 완료했습니다.
C:\Users\minu>

 
 
정상적이라면 상기와 같은 메세지가 도스창에 보일 것입니다.
 
C:\Windows\winsxs 폴더 우클릭 > 속성 을 고르고, 크기에 사이즈를 보세요. 몇기가 버셨을 겁니다.
 
추천은 구걸하는 거라 배웠습니다. 굽신굽신;; ^^


P.S. 적게는 몇 메가에서 많게는 15GB정도도 줄어든 분들이 있더군요..

,

 

zbxe_convert.zip

 

http://www.sir.co.kr/bbs/board.php?bo_table=g4_convert&wr_id=924#c_939

에서 Tavris 님이 만들어주신 귀한 자료이다. 하지만 사용법이 자세히 적혀 있지 않아서 여기에 사용법을 적는다.

 

 

 

1) gnuboard4 를 새로 설치한다. 여기서 설치 폴더는 /gnu 로 하겠다. 설치된 db 이름은 GNU_DB 로 하겠다.

 

2) gnuboard4 에서 게시판을 하나 만든다. 여기서 게시판 이름은 GNUBOARD 로 하겠다.

 

3) zbxe_convert 에 있는 3개의 파일을 /gnu 폴더로 옮긴다.

 

4) XE 가 설치된 DB 에 있는 xe_document , xe_comment , xe_files (xe_ 는 다를 수 있다.) 를 GNU_DB 로 카피한다. 카피하는 방법은 phpmyadmin 의 export , import 를 이용하면 편리하다.

 

5) xe_document 에서 옮기고 싶은 게시판의 module_srl 을 기억해둔다. 이것이 게시판의 고유번호이다.

 

6) /gnu/zbxe_convert.php 를 실행한다.

- 기존 데이터 삭제 / 테이블 최적화 / 댓글 추출 / 첨부파일 이전  모두 check 한다.

- 제로보드XE 설치 DB 는 XE 의 DB 이름으로

- 지정된 테이블 명칭은 gnuboard4 로 만든 게시판 이름(여기서는 GNUBOARD)로 바꾼다.

- 변환할 게시판 srl 은 5) 에서 기억해둔 module_srl 번호를

- 변환하지 않을 ID srl 은 공란으로 비워둔다. (cf) 0 이 아니라 공란이다.)

- 실행한다.

 

7) 이후 GNUBAORD 게시판에 가보면 변환된 게시물이 보인다. 하지만 번호가 마이너스 값으로 되어있다. phpmyadmin 을 이용해서 GNU_DB 의 테이블 g4_board 의 bo_count_write 값을 변환된 게시글 숫자로 바꾼다.

,

USB 에 부팅 ISO 파일 굽는 프로그램 중 제일 나은 것은


여러 프로그램 (ultraiso, isotousb, hp....) 사용해본 결과 rufus 가 제일 나았습니다.


일단 파티션이 여러개로 분리된 USB 라도 깔끔하게 ISO 파일을 구워줍니다.


용량도 작고 설치도 필요 없습니다.


부팅 가능 디스크 만들기 옵션을 ISO Image 로 바꾸고 시작을 눌러서 구우면 됩니다.



rufus-1.4.9.exe


,

윈도우 software raid 는 현재 monitor 툴이 없다.

sf.net 에서 찾은 winraidmonitor 는 java 로 diskpart 실행한 결과를 바탕으로 raid 상태를 알아낸다.

gmail 을 포함한 메일을 통해 상태를 전달해준다.


현재 영문 윈도우에서만 정상적으로 작동한다.

비영문 윈도우를 지원하기 위해 run.bat 파일을 보면 파라메터가 있기는 하나 제대로 작동 안하는듯하다.

한글 윈도우에서 사용하려면 제어판에서 표시를 english 로 바꾸어야한다.



WinRaidMonitor.zip


 

참고로 run.bat 파일에 codepage 를 변경하는 것을 추가하면 더 잘 동작한다.

 

chcp 437

 

 

,

웹서버를 운영하다 보면 기본 서버가 다운될 때가 있다.

이럴때 백업 서버로 빨리 연결해 주면 좋은데 DNS 주소를 자동으로 변경해주는 서비스가 DNS failover 서비스이다.


Amazon 의 router53

http://aws.amazon.com/ko/about-aws/whats-new/2013/02/11/announcing-dns-failover-for-route-53/


DNSMadeEasy

http://www.dnsmadeeasy.com/services/dns-failover-system-monitoring/


두군데에서 이 서비스를 제공한다.


비용은

http://www.dnsmadeeasy.com/home/compare/

에서 비교해 놓았는데


DNSMadeEasy 는 10개 도메인 비용이 1년에 30$ , Failover 서비스는 도메인당 5$

Amazon 은 1개 도메인 비용이 1달에 0.5$ = 1년에 6$, Failover 서비스는 무료


결국 1개 도메인 정도 사용한다고 보면 amazon 이 유리하다.



Amazon 에서 설정해 보았는데,

1) A record 를 sshan.net 과 *.sshan.net 를 primary 로 설정하고 각각의 백업 서버를 secondary 로 설정하였다.

type 을 failover 로 설정하고 health state 체크하는 것은 아래 설정한 것을 선택해서 하였다.



Health state 설정은 따로 있는데 다음과 같이 각각의 주소별로 하나씩 하였다.


비교적 직관적이지만 해본 적이 없다면 아래 주소를 참고하면 자세히 나온다.


http://aws.typepad.com/aws/2013/02/create-a-backup-website-using-route-53-dns-failover-and-s3-website-hosting.html



,