django1.9[python2.7] vs symfony3[PHP7]

PHP7が出てから、pythonより早いというような、記事を良く見ます。
どれもcliでのテストだったので、Apache経由のフレームワーク込みでテストした場合どうなのか、ベンチテストしてみました。

環境
ventualbox:CentOS7
Apache:
Server version: Apache/2.4.6 (CentOS)
Server built: Aug 24 2015 18:11:25
MySQL:
mysql Ver 14.14 Distrib 5.6.27, for Linux (x86_64) using EditLine wrapper

プログラム
mysqlから簡単なデータを取得するだけのプログラムです。

django1.9 symfony3
$ curl http://localhost:8086/
Hello World! django
django1.9
$ curl http://localhost:8085/
Hello World!
symfony3
$ ab -c 10 -n 1000 http://localhost:8086/
This is ApacheBench, Version 2.3 <$Revision: 1430300 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking localhost (be patient)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Completed 600 requests
Completed 700 requests
Completed 800 requests
Completed 900 requests
Completed 1000 requests
Finished 1000 requests

Server Software: Apache/2.4.6
Server Hostname: localhost
Server Port: 8086

Document Path: /
Document Length: 43 bytes

Concurrency Level: 10
Time taken for tests: 3.607 seconds
Complete requests: 1000
Failed requests: 0
Write errors: 0
Total transferred: 267120 bytes
HTML transferred: 43000 bytes
Requests per second: 277.25 [#/sec] (mean)
Time per request: 36.069 [ms] (mean)
Time per request: 3.607 [ms] (mean, across all concurrent requests)
Transfer rate: 72.32 [Kbytes/sec] received

Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 0.1 0 1
Processing: 4 36 20.7 34 128
Waiting: 4 35 19.8 33 122
Total: 4 36 20.7 34 128

Percentage of the requests served within a certain time (ms)
50% 34
66% 44
75% 50
80% 53
90% 64
95% 73
98% 81
99% 91
100% 128 (longest request)

$ ab -c 10 -n 1000 http://localhost:8085/
This is ApacheBench, Version 2.3 <$Revision: 1430300 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking localhost (be patient)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Completed 600 requests
Completed 700 requests
Completed 800 requests
Completed 900 requests
Completed 1000 requests
Finished 1000 requests

Server Software: Apache/2.4.6
Server Hostname: localhost
Server Port: 8085

Document Path: /
Document Length: 34 bytes

Concurrency Level: 10
Time taken for tests: 51.468 seconds
Complete requests: 1000
Failed requests: 0
Write errors: 0
Total transferred: 333000 bytes
HTML transferred: 34000 bytes
Requests per second: 19.43 [#/sec] (mean)
Time per request: 514.676 [ms] (mean)
Time per request: 51.468 [ms] (mean, across all concurrent requests)
Transfer rate: 6.32 [Kbytes/sec] received

Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 0.1 0 1
Processing: 244 514 89.2 508 1111
Waiting: 244 513 89.4 507 1111
Total: 244 514 89.2 508 1111

Percentage of the requests served within a certain time (ms)
50% 508
66% 540
75% 562
80% 575
90% 607
95% 640
98% 670
99% 712
100% 1111 (longest request)

結果、djangoが圧勝でした。

おそらく、他に早いフレームワークが・・という声もあるはずです。
時間があれば、他のフレームワークも試してみたいと思います。

django

services-DjangoPython_1
弊社では、従来PHPのsymfony1~2を利用してきましたが、pythonのdjangoというフレームワークを採用を推進する事にしました。

pythonとPHPを、比較してみます。

python PHP
速度 ★★★★ ★★
開発者数 ★★ ★★★★★
フレームワーク充実度 ★★★ ★★★★★
日本語リファレンス ★★ ★★★★

pythonより早い言語もありますが、

開発者にとって、PHPの後継に近く、パフォーマンスも良い。

というのが、選択の理由であり、今後伸びるのだろうと感じています。

djangoでの開発は、Dreamiまで、ご相談ください。
もちろん、PHPの開発も致します。

お問い合わせはこちら

SEOの勘違い

勘違い1 ホームページを作ればお客がたくさん来る。

例えば、「エステ」のお店のホームページを作った場合、どのようなケースがあるか、考えてみましょう。

  • 店の名前で探す。(ブランディング)
  • 近くのエステを探す。(場所)
  • ベビーマッサージを探す。(目的)
  • エステティシャンになりたい。(目的)

ブランディング
ブランディングというのは、名前を認知されないと上がりません。固有名詞のため、他社競合が無いので、認知されれば、検索されます。
これは、勝手に上がってくるものでしょう。
例えば、「エステ」という店の名前だとします。
この場合、エステが店でなく、ジャンルとして、認識されてしまうため、固有名詞としての検索効果は、期待出来ません。

場所
まっさきに思いつくのが、GoogleMapです。
GoogleMapに表示されるという事は、Googleに住所を確認されないと、掲載されません。
もちろん検索結果にも、反映されているはずです。
現在は、Google+から認証を出来るようになっています。

目的別
エステに行く人が、何を求めているのでしょうか?
それは、Googleトレンドで確認出来ます。
しかし、検索には、需要(検索数)と供給(サイト数)が関係します。
人気があるのに、供給がすくないワードというのは、サイトのアクセス・売上にも貢献されるでしょう。

また、これと逆の考え方に、ロングテールという考え方も存在します。
人気のない言葉でも、多数扱う事によって、ニッチャー系の顧客を確保するという考え方です。
これには、コンテンツ量が豊富でないと、いけません。

勘違い2 検索順位を簡単に上げる方法がある?

これを売りにしている業者がたくさんあるのも事実です。
筆者は、コンテンツ=検索結果であり、スパム活動になってしまう、危険性を含んでいます。
業者に高いお金を払って、スパムをされた場合、ブラックサイト認定されると、Googleで検索されなくなってしまう事があります。
大手サイトでも、このようになり、検索されなくなってしまう事があります。

コンテンツ力が無い場合は、どうカバーするか?

SEOは、継続的に広告効果が高くて良いのですが、そこに至るまでは、日々の努力が必要です。

方法1.ポータルサイトに、掲載してもらう
ブライダルエステナビ
被リンクにも繋がるので、SEOの効果もあります。

方法2.SNS(Facebook,Twitterなど)にシェアする
シェア以外にも、店舗用のページも作成出来るSNSもあるので、利用しましょう。

方法3.有料広告を使う(Googleアドワーズなど)

広告を出しすぎても、回収出来なくては意味がないので、費用対効果を考えながら、やってみましょう。
ターゲットを絞って宣伝出来るので、便利です。

1.セキュリティ・マネジメント・システム

概要

情報には、いろいろあるが、守るべきデータを明確にすることが大事で、このデータを守るために、漏洩対策することが基本である。

以前、ISMS(情報セキュリティマネジメントシステム)の導入に立ち会った。

これは、セキュリティ対策をするのは、当たり前の話ではあるが、その基盤となる、情報のプライオリティを仕分けする作業がある。

主に、流出してはならない物には

  • 個人情報
  • 企業情報
  • 社外秘文章

などが該当する。

これらのデータに、社内誰でもアクセス出来てしまう。

管理しているマシンが、ウィルスやスパイウェアに感染する恐れがある。

管理しているマシンが壊れたらデータがなくなる。

このような、状態の場合は要注意です。

ISMSなどを導入すれば、これらの作業が含まれるので、採用するのも手段だ。

導入をすれば取引先や顧客に対策を講じているという証明にもなる。

なくても、このような情報の仕分けは、とても重要だ。

対策

アクセス権限を管理するには、どうしたら良いか?

  • セグメントを分ける。
  • ファイル共有権限を付ける。
  • GoogleApps(googleドライブ)などのクラウドサービスを利用する。

バックアップをするには、どうしたら良いか?

  • ハードディスクの冗長化(ミラーリング)
  • 定期CD/DVDなどへバックアップ。
  • GoogleApps(googleドライブ)などのクラウドサービスを利用する。
  • バージョン管理ソフト(開発の場合)。

GoogleAppsが優れているのが良く分かる。

  • 冗長化
  • バックアップ
  • アクセス権限管理

これらすべてを解決してくれる。

社内でハードウェアの管理の煩わしさも解決してくれる。

経営者がすべきセキュリティ対策?

韓国のサイバーテロ事件の影響もあって、セキュリティに過敏に反応している、企業も多いかと思う。

経営者として、情報漏えいや、消失は、膨大な損害に繋がるため、慎重に対応しないといけいない。

そこで一般的なセキュリティ対策と漏洩の原因を紹介しよう。

一般的なセキュリティ対策方法

  1. セキュリティ・マネジメント・システム
  2. ファイヤーウォール
  3. アンチウィルス・ソフト
  4. アンチスパイウェア・ソフト
  5. WEBフィルタリング
  6. ハードディスクの暗号化
  7. ソフトウェアのアップデート管理
  8. その他

情報漏えいの主な要因

  1. 外的要因
  2. 内的要因
    1. 故意な流出
    2. 不意な流出

では、一般的な会社で、どのような対策をすべきかと言うと、一概にどうとは言えない。

セキュリティを高くするためには、さまざまなセキュリティ対策をすれば解決するかもしれない。

しかし、扱う情報のセキュリティのレベルは、職種や部署や業務などによって、違うはずだ。

セキュリティは高ければ高いほど業務効率が落ちるため、最適なボーダーラインを見極める必要がある。

業種によってセキュリティルールを決める事が重要だ。

例えば、資本力のある大企業であれば、最適化せずに、さまざまなセキュリティ対策を講じてしまっても、経営上問題ないであろう。

しかし、中小企業で、このような事をすれば、作業効率が悪くなり、業務に支障が出てしまう。

でも、何もしなくて良いのか、と言うとそうではない。

セキュリティ・マネジメント・システムへ

マーケティングミックスとは?

マーケティングミックスとは、マーケティング戦略において、望ましい反応を市場から引き出すために、ツールを組み合わせることである。これには今日、4P理論と4C理論がある。
(wikipedia参照)

4P:売り手側の視点

Product(製品):

製品、サービス、品質、デザイン、ブランド 等

Price(価格):

価格、割引、支払条件、信用取引 等

Place(流通):

チャネル、輸送、流通範囲、立地、品揃え、在庫 等

Promotion(プロモーション):

広告宣伝、ダイレクトマーケティング 等

4C:買い手側の視点

Product(製品)
 Consumer(消費者のニーズやウォンツ)あるいは
Customer solution(顧客ソリューション)

Price(価格)
 Customer cost(顧客コスト)

Place (流通)
  Convenience(利便性)

Promotion(プロモーション)
 Communication(コミュニケーション)

経営マーケティング理論の観点から、ITを利用してどのような、対策があるのか考えてみましょう。