iis - 如何彻底优化php程序降低CPU占用?
运行环境
- IIS7.0 ISAPI
- PHP5.2.17
- Mysql
- ZendOptimizer
程序情况描述
同一服务器环境下运行多套程序,程序是一套使用很长时间的老程序,现在在针对出现的问题优化,但是现在有一个严重的问题就是CPU占用高的情况亟待解决。程序是快速建站解决方案,首页是拖动布局,在这期间编辑添加资料的时候反馈网站卡,查看服务器环境,CPU占用很高,接着就卡死了,只能重启服务器解决。
猜测
- 远程下载模板程序时导致
- 后台资料操作
- 首页新增模块拖动布局
求解
如何定位哪些程序段会引起CPU占用高?
回复内容:
运行环境
- IIS7.0 ISAPI
- PHP5.2.17
- Mysql
- ZendOptimizer
程序情况描述
同一服务器环境下运行多套程序,程序是一套使用很长时间的老程序,现在在针对出现的问题优化,但是现在有一个严重的问题就是CPU占用高的情况亟待解决。程序是快速建站解决方案,首页是拖动布局,在这期间编辑添加资料的时候反馈网站卡,查看服务器环境,CPU占用很高,接着就卡死了,只能重启服务器解决。
猜测
- 远程下载模板程序时导致
- 后台资料操作
- 首页新增模块拖动布局
求解
如何定位哪些程序段会引起CPU占用高?
IIS有问题。一看到IIS我就醉了。而且PHP5.2的版本。西部数码的服务器?而且是一次安装包配置的?不是手动配置的环境!和我上个月碰到d情况一模一样。他妈的一个客户IIS的。运行10分钟服务器崩溃一次。老子10分钟重启一次。老是PHP has encountered a access violation at XXXXXXX.这傻逼错误气死人。后来搬到liunx在也没有问题。PHP你还是早点脱坑吧入Liunx吧。不然到时候有你受的。实在不行。你就慢慢拍问题吧。网上说法众多。
第一种说是PHP的BUG!这种说法来源于国外。认为只会在win上的PHP出现这种问题。解决办法就是升级PHP版本。或者gai服务器系统。
第二种说法是mysql的配置问题。需要更改环境变量的顺序?
第三说法就是PHP的mysql扩展不对。要放到system 32
第4个是程序问题。但我想你的程序是老代码。应该运行时间已经很长了。并且已经做过测试。这种情况代码查处问题的可能性比较低。
骚年。慢慢排除问题吧。
占用CPU高,一般意味着有大量的计算或死循环,可以试着用xhprof分析一下。
CPU占用高可用从这几个层面分析。
1.有大量运算,无限运算。
2.脚本执行本身就耗时,比如处理图像。
3.环境问题,请使用LAMP经典组合。环境配置请参见http://lnmp.org/install.html
请放弃windows用LAMP或者LNMP。
另外,想彻底,用底层语言自己写php模块
使用ISAPI方式,那确实就是自寻烦恼。PHP在IIS的配置,微软官方唯一支持的方式就是FastCGI,
https://secure.php.net/manual/en/install.windows.iis7.php
而PHP 5.2的生命周期早已结束,继续使用它则是另一个自寻烦恼的地方了
https://en.wikipedia.org/wiki/PHP

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



PHP 8.4 membawa beberapa ciri baharu, peningkatan keselamatan dan peningkatan prestasi dengan jumlah penamatan dan penyingkiran ciri yang sihat. Panduan ini menerangkan cara memasang PHP 8.4 atau naik taraf kepada PHP 8.4 pada Ubuntu, Debian, atau terbitan mereka

Kod Visual Studio, juga dikenali sebagai Kod VS, ialah editor kod sumber percuma — atau persekitaran pembangunan bersepadu (IDE) — tersedia untuk semua sistem pengendalian utama. Dengan koleksi sambungan yang besar untuk banyak bahasa pengaturcaraan, Kod VS boleh menjadi c

Tutorial ini menunjukkan cara memproses dokumen XML dengan cekap menggunakan PHP. XML (bahasa markup extensible) adalah bahasa markup berasaskan teks yang serba boleh yang direka untuk pembacaan manusia dan parsing mesin. Ia biasanya digunakan untuk penyimpanan data

JWT adalah standard terbuka berdasarkan JSON, yang digunakan untuk menghantar maklumat secara selamat antara pihak, terutamanya untuk pengesahan identiti dan pertukaran maklumat. 1. JWT terdiri daripada tiga bahagian: header, muatan dan tandatangan. 2. Prinsip kerja JWT termasuk tiga langkah: menjana JWT, mengesahkan JWT dan muatan parsing. 3. Apabila menggunakan JWT untuk pengesahan di PHP, JWT boleh dijana dan disahkan, dan peranan pengguna dan maklumat kebenaran boleh dimasukkan dalam penggunaan lanjutan. 4. Kesilapan umum termasuk kegagalan pengesahan tandatangan, tamat tempoh, dan muatan besar. Kemahiran penyahpepijatan termasuk menggunakan alat debugging dan pembalakan. 5. Pengoptimuman prestasi dan amalan terbaik termasuk menggunakan algoritma tandatangan yang sesuai, menetapkan tempoh kesahihan dengan munasabah,

Rentetan adalah urutan aksara, termasuk huruf, nombor, dan simbol. Tutorial ini akan mempelajari cara mengira bilangan vokal dalam rentetan yang diberikan dalam PHP menggunakan kaedah yang berbeza. Vokal dalam bahasa Inggeris adalah a, e, i, o, u, dan mereka boleh menjadi huruf besar atau huruf kecil. Apa itu vokal? Vokal adalah watak abjad yang mewakili sebutan tertentu. Terdapat lima vokal dalam bahasa Inggeris, termasuk huruf besar dan huruf kecil: a, e, i, o, u Contoh 1 Input: String = "TutorialSpoint" Output: 6 menjelaskan Vokal dalam rentetan "TutorialSpoint" adalah u, o, i, a, o, i. Terdapat 6 yuan sebanyak 6

Mengikat statik (statik: :) Melaksanakan pengikatan statik lewat (LSB) dalam PHP, yang membolehkan kelas panggilan dirujuk dalam konteks statik dan bukannya menentukan kelas. 1) Proses parsing dilakukan pada masa runtime, 2) Cari kelas panggilan dalam hubungan warisan, 3) ia boleh membawa overhead prestasi.

Apakah kaedah sihir PHP? Kaedah sihir PHP termasuk: 1. \ _ \ _ Membina, digunakan untuk memulakan objek; 2. \ _ \ _ Destruct, digunakan untuk membersihkan sumber; 3. \ _ \ _ Call, mengendalikan panggilan kaedah yang tidak wujud; 4. \ _ \ _ Mendapatkan, melaksanakan akses atribut dinamik; 5. \ _ \ _ Set, melaksanakan tetapan atribut dinamik. Kaedah ini secara automatik dipanggil dalam situasi tertentu, meningkatkan fleksibiliti dan kecekapan kod.

Dalam Php8, ungkapan perlawanan adalah struktur kawalan baru yang mengembalikan hasil yang berbeza berdasarkan nilai ungkapan. 1) Ia sama dengan pernyataan suis, tetapi mengembalikan nilai dan bukannya blok pernyataan pelaksanaan. 2) Ekspresi perlawanan secara ketat (===), yang meningkatkan keselamatan. 3) Ia mengelakkan kemungkinan ketinggalan dalam penyataan suis dan meningkatkan kesederhanaan dan kebolehbacaan kod.
