Plesk

Quick things to check when you experience high memory levels in ASP.NET

This article describes the quick things to check when you experience high memory in Microsoft ASP.NET. Original product version:   ASP.NETOriginal KB number:   893660 This article will start with some common issues, actions to remedy these issues, and a brief explanation of why these situations can cause problems. ASP.NET Support Voice column In the April 2005 Support Voice column, we inadvertently provided a link to the wrong file. Instead of linking to a download for the Web service, we linked to the XML file returned by the Web service. That link has been corrected. If you’d like to review the article with the correct file attached, see Dynamic page updates using XMLHTTP. What’s considered high memory Obviously, this question depends on volume and activity of specific applications. In general, high memory is when your ASP.NET worker process (Aspnet_wp.exe) or Internet Information Services (IIS) worker process (W3wp.exe) memory is consistently increasing and isn’t returning to a comfortable level. In general terms, a comfortable level would be under 600 MB in the default 2-GB user memory address space. Once the memory level is higher than that comfortable level, we’re doing less than we should be. This behavior may affect other applications that are running on the system. The key is to understand some applications require more memory than others. If you’re exceeding these limits, you may add more memory or add another server to your Web farm (or consider a Web farm). Profiling is also recommended in these cases. It can enable developers to create leaner applications. In this article, we’re looking at a situation where you consistently see memory rise until the server stops performing. Application set up for debugging One reason for high memory that we see here in Support a lot is when you have debugging, tracing, or both enabled for your application. Enabling debugging and tracing is a necessity when you develop your application. By default, when you create your application in Visual Studio .NET, you’ll see the following attribute set in your Web.config file: XML <compilation ... debug="true" /> or XML <trace enabled="true" ... /> Also, when you do a final build of your application, make sure that you do it in Release mode, not Debug mode. Once you’re in production, debugging should no longer be necessary. It can really slow down your performance and eat up your memory. Setting this attribute means you change a few things about how you handle your application. First, batch compile will be disabled, even if it’s set in this compilation element. It means that you create an assembly for every page in your application so that you can break into it. These assemblies can be scattered randomly across your memory space, making it more difficult to find the contiguous space to allocate memory. Second, the executionTimeout attribute (<httpRuntime> Element) is set to a high number, overriding the default of 90 seconds. It’s fine when debugging, because you can’t have the application time out while you patiently step through the code to find your blunders. However, it’s a significant risk in production. It means that if you have a rogue request for whatever reason, it will hold on to a thread and continue any detrimental behavior for days rather than few minutes. Finally, you’ll be creating more files in your Temporary ASP.NET files folder. And the System.Diagnostics.DebuggableAttribute (System.Diagnostics Namespace gets added to all generated code, which can cause performance degradation. If you get nothing else from this article, I do hope you get this information. Leaving debugging enabled is bad. We see this behavior all too often, and it’s so easy to change. Remember it can be set at the page level. Make sure all of your pages aren’t setting it. String concatenation There are applications that build HTML output by using server-side code and by just building one large HTML string to send to the browser. It’s fine, but if you’re building the string by using + and & concatenation, you may not be aware of how many large strings you’re building. For example: C# string mystring = "<html>"; mystring = mystring + "<table><tr><td>"; mystring = mystring + "First Cell"; mystring = mystring + "</td></tr></table>"; mystring = mystring + "</html>"; This code seems harmless enough, but here’s what you’re storing in memory: HTML <html> <html><table><tr><td> <html><table><tr><td>First Cell <html><table><tr><td>First Cell</td></tr></table> <html><table><tr><td>First Cell</td></tr></table></html> You may think that you’re just storing the last line, but you’re storing all of these lines. You can see how it could get out of hand, especially when you’re building a large table, perhaps by looping through a large recordset. If it’s what you’re doing, use our System.Text.StringBuilder class, so that you just store the one large string. See Use Visual C# to improve string concatenation performance .NET Framework Service Pack 1 (SP1) If you aren’t running the .NET Framework SP1 yet, install this SP if you’re experiencing memory issues. I won’t go into great detail, but basically, with SP1 we’re now allocating memory in a much more efficient manner. Basically, we’re allocating 16 MB at a time for large objects rather than 64 MB at a time. We’ve all moved, and we all know that we can pack a lot more into a car or truck if we’re using many small boxes rather than a few large boxes. It’s the idea here. Don’t be afraid to recycle periodically We recycle application pools in IIS every 29 hours by default. The Aspnet_wp.exe process will keep going until you end the task, restart IIS, or restart the computer. This behavior means that this process could be running for months. It’s a good idea for some applications to just restart the worker process every couple of days or so, at a convenient time. Questions to ask The previous were all things that you can fix quickly. However, if you’re experiencing memory issues, ask yourself these questions: Am I using many large objects? More than 85,000 KB are stored in a large object heap. Am I storing objects in Session state? These objects are going to stay in memory for much longer than if you use and dispose them. Am I using
Read more

WordPress Toolkit and Quarantine. How does it work?

How does it work? We’ve often encountered a situation where scanning the server for WordPress sites made the WordPress Toolkit completely unresponsive. After some digging, we found that, most of the time, it is malware infection on one or more WordPress sites on the server that causes this problem. This caused WordPress Toolkit not to properly access certain important files. So it was doomed to eternally wait for files, while not responding to any commands. To address this issue, we added a reasonable timeout for certain WordPress Toolkit operations. The suspicious WordPress websites that WordPress Toolkit finds now go into quarantine mode: 1. Email notification is being sent. Notification text and recipients can be configured under Tools & Settings > Notifications > “WordPress installation is quarantined” for admin/reseller/customer. 2. WordPress Toolkit mark website as “Quarantined” under the WordPress Toolkit (see image above). 3. WordPress Toolkit will skip website from all the automatic tasks such as an update and etc. What if it is not a malware? I receive notifications, but websites are not infected by malware, what can be done? This might be caused by performance issues on one or several websites. For example, a plugin might continuously run a cron task which causes the timeout, which in turn causes the quarantine. Try increasing the value of the following option in the panel.ini file: [ext-wp-toolkit]wpCliTimeoutRegular = 180wpCliTimeoutMaintenanceTimeout = 180      
Read more

Setting Up IIS Application Pool (Windows)

IIS Application Pool contains all web applications installed on your sites. If your service provider allocated a dedicated IIS application pool for your sites, then you can have a level of isolation between web applications used by your sites and web applications used by other hosting users who host their websites on the same server. Because each application pool runs independently, errors in one application pool will not affect the applications running in other application pools. Once you switch on the application pool, all web applications on your websites will be using it. To switch on dedicated IIS application pool for your websites: Go to Websites & Domains > Dedicated IIS Application Pool for Website. Click Switch On. Specify the maximum number of worker processes permitted to service requests for the IIS application pool and the amount of time (in minutes) a worker process will remain idle before it shuts down. To limit the amount of CPU resources that the IIS application pool can use, clear the Unlimited checkbox and provide a number (in percents) in the Maximum CPU use (%) field, select the action that IIS performs when a worker process exceeds the configured maximum CPU usage, and specify the reset period for monitoring of CPU usage on an application pool. When the specified number of minutes passes since the last reset, IIS resets CPU timers for the logging and for limit intervals. Select the required recycling options depending on time or resources consumption to periodically recycle the IIS application pool and to avoid unstable states that can lead to application crashes, hangs, or memory leaks. Click OK. To stop all applications running in the application pool: Go to Websites & Domains > Dedicated IIS Application Pool for Website. Click Stop. To start all applications in the application pool: Go to Websites & Domains > Dedicated IIS Application Pool for Website. Click Start. By default, the IIS application pool is running in the 64-bit mode. To run certain old versions of applications, you may need to enable the 32-bit mode. To enable IIS to run applications in the 32-bit mode: Go to Websites & Domains > Dedicated IIS Application Pool for Website. Select the “Enable 32-bit applications” checkbox and then click OK. If you run applications that are known to have memory leaks or become unstable after working for a long time, then you might need to restart them from time to time. To restart all applications running in the application pool: Go to Websites & Domains > Dedicated IIS Application Pool for Website. Click Recycle. To switch off the dedicated IIS application pool for your websites: Go to Websites & Domains > Dedicated IIS Application Pool for Website. Click Switch Off.
Read more

Creating Virtual Directories

To create a virtual directory within a website: Go to Websites & Domains and find the website’s domain name. Click Virtual Directories. You are in your web site root now. Navigate to the directory in which you want to create a virtual directory. Click Create Virtual Directory.  Note: To create a physical directory instead of virtual directory, click Create Directory, specify the name of the directory and click OK. 5. Specify the required parameters: Name – specify the virtual directory name. Path – specify the virtual directory path: Select the Create physical directory with the same name as virtual directory checkbox to automatically create a physical directory with the same name as the virtual directory you are creating. Clear the Create physical directory with the same name as virtual directory checkbox and specify the path in the field to select a physical directory that already exists. Script source access – select this checkbox to allow users to access source code if either Read or Write permissions are set. Source code includes scripts in ASP applications. Read permission – select this checkbox to allow users to read files or directories and their associated properties. Write permission – select this checkbox to allow users to upload files and their associated properties to the virtual directory or to change content in a write-enabled file. Write access is allowed only if browser supports the PUT feature of the HTTP 1.1 protocol. Directory browsing – select this checkbox to allow users to see a hypertext listing of the files and subdirectories in the virtual directory. Log visits – select this checkbox if you want to store the information about visits of the virtual directory. Create application – select this checkbox to make the directory an IIS application. The directory becomes logically independent from the rest of the website. Execute permissions – select the appropriate program execution level allowed for the virtual directory. None – allow access only to static files such as HTML or image files. Scripts only – allow running scripts only, not executables. Scripts and Executables – remove all restrictions so that all file types can be executed. ASP Settings – set specific settings for ASP-based web applications. If you are using ASP-based applications that cannot operate correctly under data transfer restrictions currently set by IIS, clear the Defined by parent directory checkbox corresponding to the field you want to change and type in the required number. If you want to enable debugging of ASP applications on the server side, clear the corresponding Defined by parent directory checkbox and select the Enable ASP server-side script debugging checkbox. If you want to enable debugging of ASP applications on the client side, clear the corresponding Defined by parent directory checkbox and select the Enable ASP client-side script debugging checkbox.Note that if you are trying to change ASP Settings for the root virtual directory, the default checkbox names will be Defined by IIS instead of Defined by parent directory. 6. Click OK. To remove a virtual directory from a website: Go to Websites & Domains and find the website’s domain name. Click Virtual Directories. Select the checkbox corresponding to the directory you want to remove. Click Remove. Confirm the removal and click OK.
Read more

Migrate from cPanel to Plesk Using Plesk Migrator

Plesk Migrator is a tool that Plesk provides. This extension provides pre- and post-migration checks, error reporting features, etc. It allows us to re-sync data between an old and new server after migration to make the migration process easy. We can use Plesk Migrator for updating Plesk to the latest version. This process is also known as ‘upgrade by transfer.’ Upgrade by transfer helps to move all hosting data and settings from the current Plesk server to a server with the latest version installed. Migrate using Plesk Web Interface We can use the Plesk web interface (UI) for the migration of domains from cPanel to Plesk. Login to the Plesk admin panel. Go to ‘Extensions’ and open ‘Plesk Migrator’ under ‘Server Tools’ and click install to install the Plesk Migrator. After the installation completes, go to ‘Extensions’ and click ‘Open’ next to Plesk Migrator under the ‘My Extension’ tab. Click ‘Start a New Migration’. Switch the ‘Panel type’ to cPanel and fill the Source server’s IP address, SSH port number, the login and password of a root user on the source server, etc. Click ‘Prepare migration’ to start the migration process. Plesk Migrator fetches the data from the source server. If the connection fails, then you need to check the source server information and make sure that the firewall does not block the connection and try again. After the completion of the migration process, you can find yourself on the ‘List of Subscription’ tab. In this interface, you can select the subscriptions to be migrated. Also, you can use any of the four available filters: By Subscription: If you migrate a subscription owned by a customer or a reseller, the corresponding customer/reseller account gets migrated unless a custom subscription owner is specified. By Customer: If you migrate a customer account, it migrates all the subscriptions owned by the account. By Reseller: If you migrate a reseller account, all subscriptions owned by the account gets migrated, but it does not automatically migrate the customer accounts owned by the reseller. If you select a reseller account and one or more customer accounts owned by that reseller for migration, the destination server preserves the reseller’s ownership of the customer accounts. By Hosting Plan: If you migrate a hosting plan, all subscriptions based on that hosting plan migrate. Select the content type that must be transferred or migrated. If you want to change any migration settings, then you can do the same by clicking ‘Settings’ in the upper-right corner. After selecting the corresponding settings and migration options, you can click ‘Migrate’ to proceed. Plesk runs the pre-migration checks to detect potential issues and display a report, as shown below. If you detect any issues in the report, we advise to fix that and click Refresh to re-run the tests. When the report is clean after the pre-migration checks, then you can click ‘Start migration’ to begin the migration process. You can monitor the migration process on the ‘Overview’ tab. The status of the migration gets displayed in the overview tab as either completed, successfully, or failed. If you want to perform any additional sync of a subscription’s content after the migration, you can click ‘Re-sync’ next to the subscription’s name. If you want to migrate additional subscriptions from the source server, repeat from step 7 to 13. You can click ‘Finish Migration’ if all the data has been migrated, this removes it from the list of ongoing migrations. Migrate via CLI through SSH Log in to Plesk and install ‘Plesk Migrator’. Connect to the server via SSH. If the configuration directory does not exist, then create the same and switch to that directory. # mkdir /usr/local/psa/var/modules/panel-migrator/conf # cd /usr/local/psa/var/modules/panel-migrator/conf Create ‘config.ini’ in the current directory with below content: # cat config.ini [GLOBAL] source-type: cpanel source-servers: cpanel target-type: plesk [plesk] ip: <destination_server_IP_address> os: unix [cpanel] ip: <source_server_IP_address> os: unix ssh-password: <source_server_root_password> # Uncomment ssh-port string below if the SSH port is not 22 # ssh-port: <replace_with_ssh_port_number> # postgres-password: <password> Note: If any PostgreSQL databases from cPanel server need to be migrated, then you need to make sure that the PostgreSQL administrator password is mentioned in the ‘config.ini’ file. Generate the migration list file using the below command # usr/local/psa/admin/sbin/modules/panel-migrator/plesk-migrator generate-migration-list You can edit the above file to remove domains that does not need to be migrated, and assign domains to service plans: # vi /usr/local/psa/admin/sbin/modules/panel-migrator/sessions/migration-session/migration-list Start the migration by running the below command. # /usr/local/psa/admin/sbin/modules/panel-migrator/plesk-migrator transfer-accounts After the transfer, run the below command to resynchronize the content. This command ignores the files which have already copied, and it re-syncs the modified contents. # /usr/local/psa/admin/sbin/modules/panel-migrator/plesk-migrator copy-content To check the operability of the migrated objects on the destination server, you can run the following command after migration. # /usr/local/psa/admin/sbin/modules/panel-migrator/plesk-migrator test-all   If you need any further help, please do reach our support department.
Read more

How to Install DotNetNuke Via Plesk Onyx?

The DNN is formerly known as DotNetNuke, and it is a .NET web content management system. The DNN content management system runs based on Microsoft .NET. It was earlier written in VB.NET and shifted to C# with DNN version 6.0.4 and above. The DotNetNuke offers two distributions, such as the Enterprise and Professional editions, and the Community edition. The Community edition of DNN is an open-source CMS. The feature to create an approval workflow in DotNetNuke offers a business-friendly approach as it makes sure that nothing reaches the public eye until it is perfect. The DotNetNuke is a framework, and we can extend the same by creating modules. In this tutorial, we can check how to install DotNetNuke via Plesk Onyx. The DotNetNuke comes with a set of comprehensive features. Some of the features of DotNetNuke are: The DotNetNuke features a robust framework for server complex modules. It comes with extensibility, which makes it easy to create a wide variety of websites. The customizability feature of DotNetNuke makes it easy to create an appealing forum, blog, portfolio, and more without having programming experience. It offers multi-user management. The page and module caching feature of DotNetNuke help to optimize your site performance. In this knowledgebase, you learn the two methods by which you can install DotNetNuke in Plesk. Install DotNetNuke in Plesk Onyx We can perform the installation of DotNetNuke in Plesk by using the following two methods. Method 1 – Quick Installation Method 2 – Custom Installation 1) CREATE A MICROSOFT SQL SERVER DATABASE Before installing DotNetNuke, make sure that you have created a Microsoft SQL server database. To create a Microsoft SQL Server database, follow the below steps: 1) Log in to your Plesk control panel. 2) Navigate to the ‘Database’ section and click the ‘Add Database’ button. 3) On the next page, fill the detailed information about the database, such as database server, database name, username, and password. 4) Then, check the box next to ‘User has access to all databases within the selected subscription’. 5) After that, click the ‘Ok’ button. Now, the Microsoft SQL Server database creation is successful. You can verify the created database from the Databases section. 2) INSTALL DOTNETNUKE IN PLESK Plesk offers one-click installation for DotNetNuke. The two installation methods that you can choose from are quick installation and custom installation. Method 1 – Quick Installation To install the latest stable version of DotNetNuke, follow the steps below. Log in to the Plesk control panel as root or admin user. Navigate to the ‘Applications’ option and go to the ‘All Available Applications’ page. Search ‘DotNetNuke’ in the search box. Then, click the ‘Install’ button next to the ‘DotNetNuke’ application to install DotNetNuke. This step opens the DotNetNuke page. On the next page, specify the location where the application should get installed. Then, select the domain, protocol, and directory. If you have an SSL certificate installed on the website, then you can select https. Click the ‘Install’ button to start the installation. The installation takes some seconds to complete. After that, you can view the general information and configuration settings of the DotNetNuke application. Method 2 – Custom Installation You can use the custom method to select the desired version of DotNetNukefor installation. This installation method also allows you to select auto-update settings, set up the administrator user, and more. To install DotNetNuke in Plesk using the custom installation method, follow the below steps: Log in to the Plesk control panel as root or administrator user. Navigate to the ‘Applications’ option and go to the ‘All Available Applications’ page. Search ‘DotNetNuke’ in the search box. Click the down arrow next to the ‘DotNetNuke’ application and click the ‘Install (custom)’ option. Then, select the version that you need to install from the list. The above step opens the ‘Installation of DotNetNuke’ page. Read and review the license agreement. After that, click the checkbox next to the ‘I accept the terms of License Agreement’ line and click the ‘Next’ button. On the next page, Specify the location, protocol, directory, and domain. If you want to make sure that the domain name goes directly to the application, then leave the text box next to the directory name blank. To make sure that the application is up-to-date, select the checkbox next to the ‘Automatically Update this app when updates are available’ option. Then, select any of the following under the ‘Administrative access’ section. Use administrative credentials not connected to any particular user – You can select this option to create a dedicated administrative account for your DotNetNuke application. Grant administrative access to existing User – You can select this option to grant administrative access of DotNetNuke application to an existing user or account. In the Portal’s Preferences section, fill the email address of the administrator in the textbox next to the ‘Portal Administrator’s Email’ option. Then, fill the desired username and password for the administrator account in the textbox next to the ‘Portal administrator’s login’ and ‘Password’. Fill the name of the web portal in the ‘Portal name’ textbox. Type ‘localhost’ in the SMTP Server textbox. Fill the database details created in the ‘Database name’ and ‘Database user password’ text boxes, or you can accept the default value. Type the password again in the ‘Confirm password’ textbox. Click the ‘Install’ button to start the installation. The installation takes some seconds to complete. After that, you can view the general information and configuration settings of the DotNetNuke application.
Read more

cPanel & Plesk Price increase 2021

cPanel and Plesk continue with dramatic yearly price increases (see 2019 price increase) even in the midst of a global pandemic while people and countless businesses are making sacrifices to stay afloat. The brass over at cPanel and Plesk are clearly unfazed. Announced today 10/1/2020 there will be a 10-15% price increase on all license costs. Justification for this price increase being –  NGINX support – which is still in beta! cPanel apparently has been caught by surprise that Centos8 and Cloudlinux8 have been release over a year. Yi-Solutions has no choice but to pass the price increase along to our customers as well. On the bright side, we have been building our relationship with DirectAdmin over the last year. We will soon be offering the Direct Admin Personal license completely FREE with the purchase of a VPS or Dedicated server. We will be introducing this offer in our control panel before the year’s end. cPanel to DirectAdmin migrations are possible. Below are the new prices that will take effect immediately for new orders. All current licenses will be updated to the new pricing structure on 1/1/2021. Plesk Edition Current Price Price – starting Jan 1, 2021 VPS Plesk Admin Edition $10.0 $12.0 VPS Plesk Pro Edition $15.0 $17.5 VPS Plesk Web Host Edition $21.5 $28.5 Dedicated Plesk Admin Edition $10.0 $12.0 Dedicated Plesk Pro Edition $15.0 $17.5 Dedicated Plesk Web Host Edition $45.0 $50.5   Cpanel Edition Current Price Price – starting Jan 1, 2021 Admin Cloud $14.5 $22 Pro Cloud $19.5 $32.25 Plus Cloud $27.0 $45.00 Premier Cloud $34.0 $49.50 Premier Metal $34.0 $49.50
Read more

How to use a Microsoft Access database on Windows Plesk Hosting.

Uploading your database Login to your the Plesk Control Panel and open the File Manager. Open the private folder and select Add New Folder. Click the Browse button and location the database file (*.mdb) file from your local computer. Press the OK button to upload it. Setting up a database connection Click on Home to return to the Home page and select ODBC Settings under Services. Click on the “Add new ODBC DSN” button Enter the name of the new connection for the database uploaded in the previous steps (You must only use letters and numbers – no spaces). You can also add an optional description. From the drop down, select “Microsoft Access Driver (*.mdb)” and click OK. Enter the Database File Path, this will be in a format similar to: E:\inetpub\vhosts\<example.com*gt;\private\<uploaded_database.mdb> (See the section Finding the Database Path below) where example.com is your domain name and uploaded_database.mdb is the name of the database uploaded to the site. Normally the domain name will not include the www part. The rest of the fields are optional and are normally not needed. Click on the “Test” button and if the connection has been created correctly you will be shown the message “Connection Successful”. If you do not see “Connection Successful” please check you have specifed the correct path (without the www). If you need to enter a password to open the database enter the appropriate username and password details. Finding the Database Path Save the attachment shown below “showpath.asp” and upload this to the ‘httpdocs’ folder for your website. Browse to this page in your web browser http://www.example.com/showpath.asp (replacing www.example.com) This should show you a path similar to C:\inetpub\vhosts\<example.com*gt;\httpdocs\showpath.asp To create the path to your database remove the portion “httpdocs\showpath.asp” from the end and add “private\<uploaded_database.mdb>. Once this is working, please remove the file showpath.asp from your website as it is no longer needed
Read more

How do set the database permissions for a Microsoft Access file (*.mdb) on Windows Plesk.

Microsoft Access Database Permissions Login to the Plesk control panel and open the File Manager and locate your database file (normally in private Click on the padlock icon next. Select the “Plesk IIS User” account which is shown on the left. Then select the option to Allow Full Control from the right hand side of the screen and click OK (You must give “Full Control” permissions on the folder the Microsoft Database (*.mdb) file is located in). Your database should now have the correct permissions set
Read more

How to enable remote connections to MS SQL server on a Plesk server?

This article describes How to enable remote connections to MS SQL server on a Plesk server? Connect to the server via RDP. Press the Start button, go to Microsoft SQL Server XXXX (where XXXX is the MSSQL version) and click the SQL Server XXX Configuration Manager. Open the SQL Server Configuration Manager (Local) > SQL Server Network Configuration menu and click the Protocols for MSSQLSERVERXXXX (where XXXX is the MSSQL version). Make sure that the TCP/IP protocol has the Enabled status: 5. Double-click the TCP/IP protocol, go to the IP Addresses tab and scroll down to the IPAll section. 6. Specify 1433 in the TCP Port field (or another port if 1433 is used by another MS SQL Server) and press the OK button: Note: the specified port, e.g, 1433, must be opened in the firewall. 7. Go to SQL Server Configuration Manager (Local) > SQL Server Services, right-click the SQL Server (MSSQLSERVER) service and press the Restart button to apply made changes:   8. Log in to Plesk. 9. Go to Tools & Settings > Database Servers > MSSQLSERVER > Settings and click OK to reset cached connection settings.
Read more
Cart

No products in the cart.